ファイル読み込みについて

タグの編集
投稿者 vb初心者  (高校生) 投稿日時 2021/8/13 20:25:53
ファイル読み込みでReadLineを使用して2行目から読んだり、1行とばして読んだりするにはどのようにプログラムを書けばいいのでしょうか?
投稿者 るきお  (社会人) 投稿日時 2021/8/13 22:19:45
次の例は、StreamReaderのReadLineメソッド自体には読み飛ばす機能はありませんが、読み込んだ行に対して何も処理をしないプログラムを書くことで、読み飛ばしを実現できます。

次の例はファイルの2行目から読み込みを行います。
Using reader As New IO.StreamReader("C:\temp\test.txt")
    reader.ReadLine() '最初の行は読み飛ばします。(読んでいるけど何もしません)  

    '次の行から1行ずつ読み込んで 出力ウィンドウに表示します。 
    Do Until reader.EndOfStream
        Dim line As String = reader.ReadLine
        Debug.WriteLine(line)
    Loop
End Using


Debug.WriteLine で出力される場所がわからない場合はここを参照してください。
https://www.umayadia.com/Note/Note021DebugWriteLine.htm

次の例は3行目を読み飛ばします。
Using reader As New IO.StreamReader("C:\temp\test.txt")

    Dim lineCount As Integer '現在読み込み対象の行数 

    'ファイルから1行ずつ読み込んで 出力ウィンドウに表示します。 
    Do Until reader.EndOfStream

        Dim line As String = reader.ReadLine
        lineCount += 1
        If lineCount = 3 Then
            Continue Do '3秒目は読み飛ばします。(読んでいるけど何もしません) 
        End If
        Debug.WriteLine(line)
    Loop
End Using