C#のテキストファイルの書き込みと読み込みのサンプルです。
目次
テキストファイルに書き込む
テキストファイルに書き込むサンプルです。
using System;
using System.IO;
class Test1
{
static void Main()
{
string path1 = @"d:\test1\test1.txt";
try
{
using (StreamWriter sw1 = new StreamWriter(path1,false,
System.Text.Encoding.GetEncoding("shift_jis")))
{
sw1.WriteLine("あいうえお");
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
パスの指定
8行目の@は、パスの指定時にエスケープ文字を入れなくてすむようになります。可読性があがります。
close処理
12行目のusingステートメントでファイルを閉じるDisposeメソッドを自動で実行してくれます。
try-catch-finallyのfinallyでファイルを閉じる意味になります。
以下は、MicrosoftのC#のusingステートメントのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
ファイルの文字コード
13行目のStreamWriterの3つめの引数でshift_jisを指定しています。3つめの引数を省略するとUTF-8になります。
新規で書き込む or 追記で書き込む
12行目のStreamWriterの2つめの引数がfalseの場合、新規で書き込みます。
trueの場合、追記になります。
例外処理
18-21行目は、例外が起きたときに実行されます。
ファイルが存在しない場合は、ファイルが新規作成されるので例外になりません。
StreamWriterクラス
- ファイルに文字を書き込みます。
- 以下は、MicrosoftのC#のStreamWriterクラスのリンクです。
https://msdn.microsoft.com/ja-jp/library/system.io.streamwriter(v=vs.110).aspx
テキストファイルを読み込む
テキストファイルを読み込むサンプルです。
using System;
using System.IO;
class Test1
{
static void Main()
{
string path1 = @"d:\test1\test1.txt";
try
{
using (StreamReader sr1 = new StreamReader(path1,
System.Text.Encoding.GetEncoding("shift_jis")))
{
string a = "";
while ((a = sr1.ReadLine()) != null)
{
Console.WriteLine("ReadLine" + a);
}
//a = sr1.ReadToEnd();
//Console.WriteLine("ReadToEnd" + a);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
パスの指定
8行目の@は、パスの指定時にエスケープ文字を入れなくてすむようになります。可読性があがります。
close処理
12行目のusingステートメントでファイルを閉じるDisposeメソッドを自動で実行してくれます。
try-catch-finallyのfinallyでファイルを閉じる意味になります。
以下は、MicrosoftのC#のusingステートメントのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
ファイルの文字コード
13行目のStreamReaderの2つめの引数でshift_jisを指定しています。2つめの引数を省略するとUTF-8になります。
ファイルの読み込み
16行目のReadLineメソッドは、1行ずつ読み込みます。
20行目のReadToEndメソッドは、すべて読み込みます。
例外処理
24-27行目は、例外が起きたときに実行されます。
ファイルが存在しない場合は、ファイル 'd:\test1\test1.txt' が見つかりませんでした。等表示されます。
StreamReaderクラス
- ファイルの文字を読み込みます。
- 以下は、MicrosoftのC#のStreamReaderクラスのリンクです。
https://msdn.microsoft.com/ja-jp/library/system.io.streamreader(v=vs.110).aspx
ディレクトリとファイルの存在チェック
ディレクトリとファイルの存在チェックのサンプルです。
using System;
using System.IO;
class Test1
{
static void Main()
{
string path1 = @"d:\test2";
string path2 = @"d:\test1\test2.txt";
if (!Directory.Exists(path1))
{
Console.WriteLine("ディレクトリがありません");
}
if (!File.Exists(path2))
{
Console.WriteLine("ファイルがありません");
}
}
}
存在チェック
11行目はディレクトリの存在チェックをしています。
16行目はファイルの存在チェックをしています。
Directoryクラス
- ディレクトリ関連のクラスです。
- 以下は、MicrosoftのC#のDirectoryクラスのリンクです。
https://msdn.microsoft.com/ja-jp/library/system.io.directory(v=vs.110).aspx
Fileクラス
- ファイル関連のクラスです。
- 以下は、MicrosoftのC#のFileクラスのリンクです。
https://msdn.microsoft.com/ja-jp/library/system.io.file(v=vs.110).aspx
関連の記事
C# if文のサンプル
C# switch文のサンプル
C# while文とdo while文のサンプル
C# for文とbreakとcontinueのサンプル
C# 配列のサンプル
C# LINQで配列の値を取得するサンプル
C# クラスとコンストラクタのサンプル
C# クラスの継承のサンプル