C# StreamReader,StreamWriter による文字化
C# StreamReader,StreamWriter による文字化け
お世話になります。
文字化けで悩んでいます。
Visual Studio 2008 C# にて、テキストファイルからデータを読んで別のテキストファイルに
そのまま書き出す(もちろん実際の運用では加工するわけですが)処理で文字化けが起こります。
そのテキストファイル自身を C# で作れば問題はないのですが、メモ帳を使って書き込んだファイルでは
文字化けが起こります。
対処方法があれば教えてください。
以下はその実験に使ったコードです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
// これは正常に書き込みできました
StreamWriter sw = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\test.txt");
sw.WriteLine("これはてすとです。");
sw.WriteLine("This is test.");
sw.Close();
// これも正常に読み込め、書き込みもできました
StreamReader sr = new StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\test.txt");
sw = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\newtest.txt");
while (!sr.EndOfStream)
{
sw.WriteLine(sr.ReadLine());
}
sr.Close();
sw.Close();
// 次はあらかじめメモ帳で作ったファイルを読んで、別のファイルに書き出します
// これが文字化けします
sr = new StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\test2.txt");
sw = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\newtest2.txt");
while (!sr.EndOfStream)
{
string dat = sr.ReadLine();
sw.WriteLine(dat);
Console.WriteLine(dat);
}
sr.Close();
sw.Close();
}
}
}
投稿日時 - 2010-10-09 22:34:02