今回は、C#でテキストファイルを出力する方法を紹介していきます。

実際仕事でよく作成するファイルは、TXTファイル、CSVファイル、LOGファイルを出力します。

System.IO.StreamWriterクラスを利用することで、作成できるので簡単な使い方をまとめました。

 

ちなみにテキストファイルの読み込みをしたい場合は、こちらを参考にしてみてください。

それではさっそくみていきましょう。

StreamWriterの使い方

StreamWriterを利用するにあたって、System.IOを利用できるようにしましょう。

using System.IO;

 

StreamWriteの使い方を見ていきます。

StreamWriter(ファイルパス,上書き,エンコード);

StreamWriter(引数1,引数2,引数3)となります。
各引数を紹介します。

第1引数にファイルのパスとファイル名を設定します。

第2引数は、ファイルを上書きするのか、ファイルに行を追加するのか、どちらかを選択できます。
True:既存のファイルにそのまま、書き込んでいく。
False:既存のファイルを新しいファイルで上書きする。

第3引数は、文字コードの設定を行います。

 

StreamWriter サンプル

ボタンを押すことでテキストファイルを出力する画面を作成しましたので、サンプルとして参考にしてみてください。
ファイルの出力先は、「D:\test\hironimo.txt」と設定しています。
ソースコードはこちらになります。
using System;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace c_sharp
{
    public partial class fileWrite : Form
    {
        public fileWrite()
        {
            InitializeComponent();
        }

        private void btnText_Click(object sender, EventArgs e)
        {
            using (StreamWriter sw = new StreamWriter(@"D:\test\hironimo.txt",false, Encoding.UTF8))
            {
                sw.WriteLine("おはよう");
                sw.WriteLine("こんにちは");
                sw.WriteLine("こんばんは");
            }
        }
    }
}

 

第1引数:D:\test\hironimo.txt
第2引数:false(上書き)
第3引数:UTF-8

 

sw.Writeとsw.WriteLineと書くことで、テキストに文字を出力することができます。

改行しないときは、Write
改行するときは、WriteLine

を使用しましょう。

//改行しない
sw.Write("テキストに出力したい文字列")

//改行される
sw.WriteLine("テキストに出力したい文字列");

 

結果

Dドライブのtestフォルダに、「hironimo.txt」が出力されており、

 

おはよう
こんにちは
こんばんは

と出力されていると思います。

 

ファイル出力 追加モード

最後に、StreamWriteの第2引数が、trueの時の紹介をしていきます。

第2引数をtrue(追加モード)にすると、テキストファイルにデータを追加することができます。

試しに2回ボタンを押した結果を紹介したいと思います。

このように、同じファイルにテキスト出力されていることが確認できました。

ログファイルを出力するときなど利用できるので是非試してみてください。

まとめ

ファイル出力は、よく使用するので、使い方を参考にしてみてください。

StreamWriter(ファイルパス,上書き,エンコード);

 

SQLServerの記事一覧

おすすめの記事