■ ファイルの書き込み
既存のファイルに追加書込
* StreamWriter() の第2引数に、trueを設定
サンプル
ログファイル用クラス作成
#region ログファイル用クラス
public class Log
{
/// <summary>
/// ログファイルの書き込み用ストリーム
/// </summary>
private StreamWriter writer = null;
#endregion
#region ログファイル用クラス・コンストラクタ
/// <summary>
/// ログファイル用クラス・コンストラクタ
/// ログファイルを作成する
/// </summary>
public Log()
{
string path = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
string logPath = path + @"\log\;
// ディレクトリの存在有無を確認する
if (!Directory.Exists(logPath))
{
// ディレクトリを作成する
Directory.CreateDirectory(logPath);
}
// ファイルパス結合
string logFileFullPath = System.IO.Path.Combine(logPath, "log.txt");
// ログファイルの存在有無を確認する
if (File.Exists(logFileFullPath))
{
writer = new StreamWriter(
logFileFullPath, true, System.Text.Encoding.GetEncoding("shift_jis");
}
else
{
writer = new StreamWriter(
logFileFullPath, false, System.Text.Encoding.GetEncoding("shift_jis");
}
}
#endregion
#region ログ出力処理
/// <summary>
/// ログファイルに例外などのメッセージを出力する
/// </summary>
/// <param name="msg">例外のメッセージ</param>
public void writeLog(Exception ex)
{
writer.WriteLine(System.DateTime.Now.ToString() + " " + ex.Message);
writer.WriteLine(ex.StackTrace.ToString());
writer.Close();
}
#endregion
#endregion
}
#endregion
■ ファイルの読み込み
* StreamReader()
サンプル
using System;
using System.IO;
using System.Text;
class SampleFileRead {
static void Main() {
string text = "";
string path = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
string logPath = path + @"\log\;
// ディレクトリの存在有無を確認する
if (!Directory.Exists(logPath))
{
Console.Write("ファイルなしよ");
return;
}
// ファイルパス結合
string logFileFullPath = System.IO.Path.Combine(logPath, "log.txt");
// ファイル読み込み
try
{
using (StreamReader sr = new StreamReader(
logFileFullPath, Encoding.GetEncoding("Shift_JIS"))) {
text = sr.ReadToEnd();
}
Console.Write(text);
}
catch (Exception ex)
{
Console.Write("Error :" + ex.Message);
}
}
}