TextFieldParser.FieldWidths プロパティ

定義

解析するテキスト ファイルの各列の幅を表します。

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()

プロパティ値

Int32[]

解析するテキスト ファイルの各列の幅を格納する整数配列。

例外

配列の最後のエントリ以外の場所で、幅の値がゼロ以下です。

次の使用例は、幅を指定して ファイル ParserText.txtを読み取ります。最初の列の幅は 5 文字、2 番目の列は 10、3 番目は 11、4 番目は可変幅です

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

注釈

このプロパティは、 プロパティが TextFieldType に設定されている場合にのみ意味があります FieldType.FixedWidth。 配列の最後のエントリが 0 以下の場合、フィールドは可変幅であると見なされます。

メソッドを SetFieldWidths 使用して、フィールド幅を設定することもできます。

次の表に、 プロパティに関連するタスクの例を FieldWidths 示します。

終了 解決方法については、
固定幅のテキスト ファイルから読み取る 方法: 固定幅のテキスト ファイルを読み取る

適用対象

こちらもご覧ください