テキストファイルの読み書き

テキストファイルの書き込み

  1. StreamWriterクラスのコンストラクタにファイル名と追記かどうかのフラグ、encodingを渡してインスタンス化します。
  2. WriteLine()メソッドで文字列を書きこみます。改行は自動挿入されます。
    Dim enc As Encoding = Encoding.GetEncoding("utf-8")
    Dim tw As New StreamWriter("C:\Users\daiyu39\Documents\test.txt", False, enc)
    tw.WriteLine("文字1")
    tw.WriteLine("文字2")
    tw.Close()

BOMなしのUTF-8で書き込みをする場合はencodingを省略します。

    Dim tw As New StreamWriter("C:\Users\daiyu39\Documents\test.txt", False)

テキストファイルの読み込み

  1. StrremReaderクラスのコンストラクタにファイル名と読み込みモードを渡してインスタンス化します。
  2. ReadLine()メソッドで1行ずつ文字列を読み込み
	Dim str As String = ""
	Dim tr As New StreamReader("C:\Users\daiyu39\Documents\test.txt", FileMode.Open)
	str = tr.ReadLine()
	Do Until str Is Nothing
		Console.WriteLine(str)
		str = tr.ReadLine()
	Loop
	br.Close()
	fs.Close()

StreamReaderクラスのReadLine()メソッドはファイル終端でNothingを返却することに注意してください。

なお、VisulBasicでは代入文の結果の値を評価するJavaのような書き方はできません。

	Do Until (str = tr.ReadLine())

ストリームを使わないテキストファイルの読み込み

File
クラスの、ReadAllText()メソッド、ReadAllLines()メソッドを使えばストリームを使うことなく、ファイルの中身を一度に文字列として取得できます。ファイルの大きさがそれほどでもない場合はストリームを使わないほうが直感的にファイルを読むことが出来ます。

ReaddAllText()はファイル全体を1つの文字列として、ReadAllLines()は行ごとに文字列の配列として読み込みます。

File.ReadAllText()

ReadAllText(String)

ReadAllText(String, Encoding)

File.ReadAllLines()

ReadAllLines(String)

ReadAllLines(String, Encoding)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です