TextFieldParser.FieldWidths 屬性
更新:2007 年 11 月
表示正在剖析之文字檔中的每一個資料行寬度。
' Usage Dim value As Integer() = TextFieldParserObject.FieldWidths ' Declaration Public Property FieldWidths As Integer()
傳回值
Integer ().
例外狀況
以下條件可能會產生例外狀況:
- 任何位置 (除了陣列的最後一個項目以外) 中的寬度值會小於或等於零 (ArgumentException)。
備註
唯有在 TextFieldParser.TextFieldType 屬性 = FieldType.FixedWidth 時,這個屬性才有意義。如果陣列中的最後一個項目小於或等於零,則欄位會假設為變數寬度。
SetFieldWidths 方法也可以用於設定欄位寬度。如需詳細資訊,請參閱 TextFieldParser.SetFieldWidths 方法。
工作
下表列出包含 FieldWidths 屬性的工作範例。
若要 |
請參閱 |
---|---|
讀取固定寬度的文字檔 |
範例
這個範例會讀取 ParserText.txt 檔案並指定寬度,第一個資料行的寬度為 5 個字元、第二個為 10 個字元,而第四個資料行的寬度為可變。
Using MyReader As New _
Microsoft.VisualBasic.FileIO.TextFieldParser("C:\ParserText.txt")
MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
MyReader.FieldWidths = New Integer() {5, 10, 11, -1}
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
MsgBox(currentField)
Next
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & _
"is not valid and will be skipped.")
End Try
End While
End Using
需求
命名空間 (Namespace)︰Microsoft.VisualBasic.FileIO
組件:Visual Basic 執行階段程式庫 (在 Microsoft.VisualBasic.dll 中)
使用權限
不需要使用權限。
請參閱
工作
HOW TO:在 Visual Basic 中從固定寬度的文字檔讀取
HOW TO:在 Visual Basic 中從逗號分隔文字檔讀取
HOW TO:在 Visual Basic 中以多種格式從文字檔讀取
疑難排解例外狀況:Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException