【C#】配列のデータをテキストファイルとして書き出す (File.WriteAllLines)

プログラム内で扱っている「文字列の配列」や「リスト」を、そのままファイルに保存したい場合、C# の System.IO.File クラスにある WriteAllLines メソッドを使うのが最もスマートです。

このメソッドを使えば、StreamWriter を使ってループ処理を書く必要がなく、たった1行でデータの書き出しが完了します。

目次

実装サンプル:買い物メモの保存

以下のコードでは、配列に入っている「買うものリスト」を、テキストファイル(Memo.txt)として新規作成・保存しています。

サンプルコード

using System;
using System.IO;

public class Program
{
    public static void Main()
    {
        // 1. 書き込みたいデータ(文字列の配列)を作成
        string[] shoppingList = new string[]
        {
            "牛乳 1パック",
            "食パン 6枚切り",
            "卵 10個入り",
            "洗濯洗剤 詰め替え用"
        };

        // 保存するファイル名
        string filePath = "Memo.txt";

        try
        {
            Console.WriteLine("ファイルを書き出しています...");

            // 2. 配列の中身をまとめてファイルに書き込む
            // File.WriteAllLines(ファイルパス, 配列)
            // ※指定したファイルが既に存在する場合は、上書きされます。
            File.WriteAllLines(filePath, shoppingList);

            Console.WriteLine("保存が完了しました。");

            // (確認用) 保存された内容を読み込んで表示
            Console.WriteLine("\n--- Memo.txt の中身 ---");
            string content = File.ReadAllText(filePath);
            Console.WriteLine(content);
        }
        catch (Exception ex)
        {
            Console.WriteLine("書き込み中にエラーが発生しました: " + ex.Message);
        }
    }
}

実行結果

ファイルを書き出しています...
保存が完了しました。

--- Memo.txt の中身 ---
牛乳 1パック
食パン 6枚切り
卵 10個入り
洗濯洗剤 詰め替え用

解説とメリット

File.WriteAllLines メソッドは、以下の処理を内部で自動的に行います。

  1. ファイルを新規作成(または上書き)モードで開く。
  2. 配列の要素を1つずつ書き込み、各行の末尾に改行コードを付ける。
  3. ファイルを閉じてリソースを解放する。

これにより、ファイルの「閉じ忘れ」によるエラーを防げるほか、コードの記述量が減り、可読性が大幅に向上します。ログのダンプ出力や、単純なリストデータの保存など、様々な場面で活用できる基本テクニックです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次