Redigera

Dela via


TextFieldParser.FieldWidths Property

Definition

Denotes the width of each column in the text file being parsed.

public:
 property cli::array <int> ^ FieldWidths { cli::array <int> ^ get(); void set(cli::array <int> ^ value); };
public int[]? FieldWidths { get; set; }
public int[] FieldWidths { get; set; }
member this.FieldWidths : int[] with get, set
Public Property FieldWidths As Integer()

Property Value

Int32[]

An integer array that contains the width of each column in the text file that is being parsed.

Exceptions

A width value in any location other than the last entry of the array is less than or equal to zero.

Examples

This example reads the file ParserText.txt, specifying the widths; the first column is 5 characters wide, the second is 10, the third is 11, and the fourth is of variable width

Using MyReader As New Microsoft.VisualBasic.FileIO.
    TextFieldParser("C:\ParserText.txt")

    MyReader.TextFieldType = 
        Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
    MyReader.FieldWidths = {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

Remarks

This property is meaningful only if the TextFieldType property is set to FieldType.FixedWidth. If the last entry in the array is less than or equal to zero, the field is assumed to be of variable width.

The SetFieldWidths method can also be used to set field widths.

The following table lists examples of tasks involving the FieldWidths property.

To See
Read from a fixed-width text file How to: Read From Fixed-width Text Files

Applies to

See also