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 属性的任务的示例。

要执行的操作

请参见

从固定宽度的文本文件中读取

如何:在 Visual Basic 中读取固定宽度的文本文件

示例

此示例读取文件 ParserText.txt,同时指定宽度;第一列为 5 个字符宽,第二列为 10,第三列为 11,第四列的宽度可变

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

要求

命名空间:Microsoft.VisualBasic.FileIO

类:TextFieldParser

**程序集:**Visual Basic 运行库(位于 Microsoft.VisualBasic.dll 中)

权限

不需要任何权限。

请参见

任务

如何:在 Visual Basic 中读取固定宽度的文本文件

如何:在 Visual Basic 中读取逗号分隔的文本文件

如何:在 Visual Basic 中读取具有多种格式的文本文件

关于异常的疑难解答:Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException

概念

使用 TextFieldParser 对象分析文本文件

参考

TextFieldParser 对象

TextFieldParser.FieldWidths

FieldType 枚举