今回は、VB.NETでの、テキストファイルの読み込みについて紹介していきます。
テキストファイルの書き込みについては、こちらを参考にしてみてください。
それではさっそくやっていきましょう。
テキストファイル 読み込み
StreamReaderの宣言方法
テキストファイルを読み込むには、StreamReaderを使用します。
まずは、StreamReaderを宣言しましょう。
Dim sr As StreamReader = New StreamReader("ファイルパス")
「ファイルパス」の部分に、読み込みたいファイルパスを記載していきましょう。
宣言ができたら、テキストファイルを一括で読み込むのか、一行ずつ読み込むのかやり方が違いますので、
それぞれ紹介していきます。状況に応じて使い分けしていきましょう。
テキストファイル 一括読み込み
テキストファイルを一括読み込みする場合は、非常に簡単です。
下記のように、「ReadToEnd」を使用することで、一括読み込みすることができます。
StreamReader.ReadToEnd
使用例を見ていきましょう。
「D:\test\hironimo.txt」
上記のようなテキストファイルを用意しました。
VB.NETからこのテキストファイルを読み込んでいきます。
下のような画面を作成し、ボタンを押すことで読み込むようにしました。
テキストファイルを一括で読み込むには、「ReadToEnd」を利用していきます。
下記のように処理を記載しましょう。
Dim sr As StreamReader = New StreamReader("D:\test\hironimo.txt")
txtRead.Text = sr.ReadToEnd
sr.Close()
結果
テキストファイルの値が、テキストボックスに書き込まれましたね。
テキストファイル 一行読み込み
テキストファイルを一行ずつ読み込みたいときは、「ReadLine」を使用しましょう。
StreamReader.ReadLine
下記のように記載することで一行ずつ全行を読み込むことができます。
Dim sr As StreamReader = New StreamReader("D:\test\hironimo.txt")
Dim str As String = ""
Do While sr.EndOfStream = False
str = str & sr.ReadLine & vbCrLf
Loop
txtRead.Text = str
sr.Close()
解説
1行目:テキストファイルを指定
2行目:テキストファイルの値を格納する変数宣言
3行目:StreamRead.EndOfStreamで最終行かどうか判断しています。Trueになれば、次の行がないという意味になります。
4行目:一行を読み込んでいます。
3~5行目:テキストファイルの行数分ループして、一行ずつ読み込んでいます。
7行目:読み込んだ文字列を、画面に表示
8行目:StreamReaderを終了
結果
一括読み込みの時と同じ結果になっていることが確認できました。
まとめ
今回は、VB.NETでのテキストファイルの読み込み方法を紹介しました。
一括読み込みと一行ずつ読み込む方法を紹介したので、状況によって使い分けていきましょう。
一行ずつ読み込む場合は、途中で条件分岐などができるので、いろいろカスタマイズすることができます。