C# テキストファイルの書き込みと読み込みのサンプル(StreamWriterとStreamReader)

C#のテキストファイルの書き込みと読み込みのサンプルです。
StreamWriterクラスとStreamReaderクラスを使用します。

目次

StreamWriterクラス

ファイルに書き込むコード

サンプルのコードです。
8行目の@はエスケープ文字を入れなくてすむようになります。可読性があがります。
10行目は、ファイルに書き込みをしています。usingでファイルのクローズはされます。
15行目は、ファイルに追記で書き込んでいます。StreamWriterのコンストラクタの2つ目の引数をtrueにします。
ファイルの文字コードはUTF-8になります。

using System;
using System.IO;

class Test1
{
    static void Main()
    {
        string path1 = @"d:\test1\test1.txt";

        using (StreamWriter sw1 = new StreamWriter(path1))
        {
            sw1.WriteLine("あいうえお");
        }

        using (StreamWriter sw2 = new StreamWriter(path1, true))
        {
            sw2.WriteLine("かきくけこ");
        }
    }
}

StreamReaderクラス

ファイルを読み込むコード

サンプルのコードです。
8行目の@はエスケープ文字を入れなくてすむようになります。可読性があがります。
10行目からファイルの読み込みをしています。usingでファイルのクローズはされます。
13行目は、while文でループさせて1行ずつ読み込んでいます。
ファイルの文字コードはUTF-8を読み込みます。UTF-8でない場合文字化けします。

using System;
using System.IO;

class Test1
{
    static void Main()
    {
        string path1 = @"d:\test1\test1.txt";

        using (StreamReader sr3 = new StreamReader(path1))
        {
            string line = "";
            while ((line = sr3.ReadLine()) != null)
                Console.WriteLine(line); //あいうえお かきくけこ
        }
    }
}

ディレクトリとファイルの存在チェック

ディレクトリとファイルの存在チェックです。
11行目はディレクトリの存在チェックをしています。
16行目はファイルの存在チェックをしています。

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("ファイルがありません");
        }
    }
}

Directoryクラス

Fileクラス

関連の記事

C# if文のサンプル
C# switch文のサンプル
C# while文とdo while文のサンプル
C# for文とbreakとcontinueのサンプル
C# 配列のサンプル
C# LINQで配列の値を取得するサンプル
C# クラスとコンストラクタのサンプル
C# クラスの継承とオーバーライドのサンプル
C# テキストファイルの書き込みと読み込みのサンプル(StreamWriterとStreamReader)

 はまったらエンジニア特化型Q&Aサイト
【teratail(テラテイル)】で質問しましょう!


△上に戻る