Visual Basic サンプル集 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Visual Basic 中学校 > Visual Basic サンプル集 > Visual Basic サンプル集目次 >
ファイルに文字列を書き込む
2021/10/10
ファイルを上書きする
この例では文字コード UTF-8 で書き込みます。対象のファイルがなければ新規にファイルを生成します。
IO.File.WriteAllText("C:\temp\test.txt", "こんにちは")
メモ:この例では末尾に改行はつきません。
連続して書き込む場合は、こちらの方が効率的です。
Using writer As New IO.StreamWriter("C:\temp\test.txt")
writer.Write("Write文字列をそのまま書き込みます。")
writer.WriteLine("WriteLineは末尾に改行をつけて書き込みます。")
End Using
Shift_JISでファイルを上書きする
この例では文字コード Shift_JIS で書き込みます。対象のファイルがなければ新規にファイルを生成します。
#If NETCOREAPP Then
'#If NETCOREAPP の効果で、.NET Frameworkで実行している場合、この1行は無視されます。
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)
#End If
IO.File.WriteAllText("C:\temp\test.txt", "こんにちは", System.Text.Encoding.GetEncoding("shift_jis"))
メモ:この例では末尾に改行はつきません。
ファイルを追加書きする
この例では文字コード UTF-8 で書き込みます。対象のファイルがなければ新規にファイルを生成します。
IO.File.AppendAllText("C:\temp\test.txt", "こんにちは")
メモ:この例では末尾に改行はつきません。
連続して書き込む場合は、こちらの方が効率的です。
Using writer As New IO.StreamWriter("C:\temp\test.txt", True)
writer.Write("Write文字列をそのまま書き込みます。")
writer.WriteLine("WriteLineは末尾に改行をつけて書き込みます。")
End Using
Shift_JISでファイルを追加書きする
この例では文字コード Shift_JIS で書き込みます。対象のファイルがなければ新規にファイルを生成します。
#If NETCOREAPP Then
'#If NETCOREAPP の効果で、.NET Frameworkで実行している場合、この1行は無視されます。
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)
#End If
IO.File.AppendAllText("C:\temp\test.txt", "こんにちは", System.Text.Encoding.GetEncoding("shift_jis"))
メモ:この例では末尾に改行はつきません。
改行付きで書き込む
この例ではWindowsで標準的な改行コード CRLF を使って改行を書き込みます。
IO.File.AppendAllText("C:\temp\test.txt", $"1行目{vbCrLf}2行目")
メモ:上述の例のように StreamWriterのWriteLineメソッドで書き込むと自動的に末尾に改行を付加します。
この例ではプログラムを実行しているOSの改行コードを使って改行を書き込みます。
IO.File.AppendAllText("C:\temp\test.txt", $"1行目{Environment.NewLine}2行目")
メモ:上述の例のように StreamWriterのWriteLineメソッドで書き込むと自動的に末尾に改行を付加します。
VB2013以前の場合は、 & を使って改行コード(vbCrLf や Environment.NewLineなど)と連結できます。
IO.File.AppendAllText("C:\temp\test.txt", "1行目" & vbCrLf & "2行目")
メモ:上述の例のように StreamWriterのWriteLineメソッドで書き込むと自動的に末尾に改行を付加します。