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を指定すると追記になります。
ページのトップへ戻る