トッカンソフトウェア

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

テキストファイルの読み書きをやります。

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

				
using System;
using System.Collections.Generic;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"C:\work\hp\test.txt";

            WriteFileStr(path, "テスト①");
            WriteFileAdd(path, "テスト②");

            List<string> ary = ReadFileList(path);
            ary.Add("テスト③");

            WriteFileAry(path, ary);
            string str = ReadFileStr(path);

            Console.Write(str);
            Console.Read();
        }

        /// <summary>
        /// ファイルの読み込み
        /// <param name="path">ファイルのフルパス</param>
        /// <returns>ファイルの中身</returns>
        /// </summary>
        public static string ReadFileStr(string path)
        {
            string ret = "";

            using (System.IO.StreamReader sr = new System.IO.StreamReader(
                path, System.Text.Encoding.GetEncoding("Shift_JIS")))
            {
                ret = sr.ReadToEnd();
            }
            return ret;
        }

        /// <summary>
        /// ファイルの読み込み
        /// <param name="path">ファイルのフルパス</param>
        /// <returns>ファイルの中身</returns>
        /// </summary>
        public static List<string> ReadFileList(string path)
        {
            List<string> ret = new List<string>(); ;

            string str = null;
            using (System.IO.StreamReader sr = new System.IO.StreamReader(
                path, System.Text.Encoding.GetEncoding("Shift_JIS")))
            {
                while ((str = sr.ReadLine()) != null)
                {
                    ret.Add(str);
                }
            }
            return ret;
        }

        /// <summary>
        /// ファイルの書き込み
        /// <param name="path">ファイルのフルパス</param>
        /// <param name="str">書き込むデータ</param>
        /// </summary>
        public static void WriteFileStr(string path, String str)
        {
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(
                           path, false, System.Text.Encoding.GetEncoding("Shift_JIS")))
            {
                file.Write(str);
            }
        }

        /// <summary>
        /// ファイルの書き込み(追記)
        /// <param name="path">ファイルのフルパス</param>
        /// <param name="str">書き込むデータ</param>
        /// </summary>
        public static void WriteFileAdd(string path, String str)
        {
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(
                           path, true, System.Text.Encoding.GetEncoding("Shift_JIS")))
            {
                file.WriteLine(str);
            }
        }

        /// <summary>
        /// ファイルの書き込み
        /// <param name="path">ファイルのフルパス</param>
        /// <param name="str">書き込むデータ</param>
        /// </summary>
        public static void WriteFileAry(string path, List<string> ary)
        {
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(
                           path, false, System.Text.Encoding.GetEncoding("Shift_JIS")))
            {
                foreach (string str in ary)
                {
                    file.WriteLine(str);
                }
            }
        }
    }
}


			
テキストファイルを読み込むには、System.IO.StreamReaderクラスを
使用し、書き込むには、System.IO.StreamWriterクラスを使用します。

文字コードを指定するには、System.Text.Encoding.GetEncodingメソッドの取得値を
コンストラクタに指定します。

文字コード指定を省略した場合、UTF8(BOMなし)となります。

StreamWriterの引数にfalseを指定すると上書き、trueを指定すると追記になります。

ページのトップへ戻る