VB.NETのテキストファイルの読み書きのサンプルです。
確認環境 ・Microsoft Visual Studio Community 2019 |
目次
サンプル | StreamReaderクラスで読み込む |
StreamWriterクラスで書き込む |
StreamReaderクラスで読み込む
Public Sub New (path As String, encoding As Encoding) |
- ファイルの文字を読み込みます。
- 上記は、StreamReaderクラスのコンストラクタです。
- 以下は、MicrosoftのStreamReaderクラスのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.io.streamreader?view=netcore-3.1
ファイルを読み込むサンプルです。
1行ずつ読み込みリストにセットします。
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim path1 = "D:\Test1\test1.csv"
Dim list1 As New List(Of String)
Dim line As String = ""
Try
Using reader1 As New StreamReader(
path1, Encoding.GetEncoding("Shift_JIS"))
line = reader1.ReadLine()
While line IsNot Nothing
list1.Add(line) '1行ずつセット
line = reader1.ReadLine()
End While
End Using
For Each b As String In list1
Console.WriteLine(b) '1行ずつ表示
Next
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
End Module
11行目は、StreamReaderのインスタンスを生成しています。
usingステートメントは、配下のブロックの処理が終了したときにリソースを解放するDispose()が呼ばれるのでCloseメソッドは不要です。
14行目は、1行読み込んでいます。
15行目は、While文で読み込んだ行がNothingになるまでループします。
23行目は、1行ずつ表示されます。
StreamWriterクラスで書き込む
Public Sub New (path As String, append As Boolean, encoding As Encoding) |
- ファイルに文字を書き込みます。
- 上記は、StreamReaderクラスのコンストラクタです。
- 以下は、MicrosoftのStreamWriterクラスのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.io.streamwriter?view=netcore-3.1
ファイルを書き込むサンプルです。
リストから1行ずつ書き込みます。
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim path1 = "D:\Test1\test2.csv"
Dim list1 As New List(Of String)(New String() {"赤", "黄", "青"})
Dim line As String = ""
Try
Using writer1 As New StreamWriter(
path1, True, Encoding.GetEncoding("Shift_JIS"))
For Each b As String In list1
writer1.WriteLine(b) '1行ずつ書き込み
Next
End Using
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
End Module
11行目は、StreamWriterのインスタンスを生成しています。
12行目のTrueは追記するという意味です。Falseにすると都度新規作成されます。
usingステートメントは、配下のブロックの処理が終了したときにリソースを解放するDispose()が呼ばれるのでCloseメソッドは不要です。
14行目は、リストの要素分ループします。
15行目は、WriteLineメソッドで1行ずつ書き込みをしています。
関連の記事
VB.NET ファイルの一覧を取得するサンプル
VB.NET ファイルの存在/移動/コピー/削除のサンプル
VB.NET フォルダの存在/移動/コピー/削除のサンプル