目次

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

テキストファイルの読み書きには、System::IO::StreamWriterとSystem::IO::StreamReaderを使います。スタックセマンティクスを用いています。

読み込み

try
{
	System::IO::StreamReader sr(L"C:TestTest.txt", System::Text::Encoding::UTF8);
 
	String^ line=nullptr;
	while ( (line=sr.ReadLine()) != nullptr )
	{
		// lineに一行づつ読み込まれる
	}
}
catch ( System::IO::FileNotFoundException^ )
{
 // ファイルがない
}
catch ( System::Exception^ e )
{
 // それ以外のエラー
}

上記の例はStreamReaderコンストラクタとReadLine()の例外処理を一つにまとめていますが、ちゃんと書く場合は、別々にしたほうがいいです。

書き込み

try 
{
	String^ path = L"C:TestTest.txt";    
	System::IO::StreamWriter sw(path, false, System::Text::Encoding::UTF8);
	sw.WriteLine(L"あああ");
	sw.WriteLine(L"いいい");
	sw.WriteLine(L"ううう");
}
catch ( System::Exception^ e )
{
 // エラー
}

上記のStreamReaderもStreamWriterもスコープからはずれるとデストラクタが呼ばれ、ファイルを解放してくれます。 またUTF8で読み書きされます。