UTF-8エンコーディングのファイルをShift-JISに変換するコンソールアプリのサンプルコードです。
サンプルコード
UTF-8で読み込んで、SJISで書き込む、という処理です。
using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
// ファイルパス
string inputFilePath = @"C:\path\to\your\input.txt";
string outputFilePath = @"C:\path\to\your\output.txt";
try
{
// UTF-8エンコーディングでファイルを読み込む
using (StreamReader reader = new StreamReader(inputFilePath, Encoding.UTF8))
{
// Shift-JISエンコーディングでファイルに書き込む
using (StreamWriter writer = new StreamWriter(outputFilePath, false, Encoding.GetEncoding("shift_jis")))
{
string line;
while ((line = reader.ReadLine()) != null)
{
// 読み込んだ行を出力ファイルに書き込む
writer.WriteLine(line);
}
}
}
Console.WriteLine("ファイルの変換が完了しました。");
}
catch (Exception ex)
{
Console.WriteLine("エラーが発生しました: " + ex.Message);
}
}
}
このサンプルコードでは、以下のステップでファイルのエンコーディング変換を行っています。
- ファイルパスの指定: inputFilePath と outputFilePath で、それぞれ読み込み元と書き込み先のファイルパスを指定します。
- StreamReaderとStreamWriterの使用: UTF-8エンコーディングで読み込みを行うために StreamReader を使用し、Shift-JISエンコーディングでの書き込みのために StreamWriter を使用します。
- ファイルの読み込みと書き込み: StreamReader.ReadLine メソッドでファイルの内容を一行ずつ読み込み、StreamWriter.WriteLine メソッドで読み込んだ内容をShift-JISで出力ファイルに書き込みます。
- 例外処理: ファイル操作中に何らかのエラーが発生した場合、例外がキャッチされ、エラーメッセージが表示されます。
まとめ
本記事では、文字エンコーディングの変換を行うサンプルコードを紹介しました。