【C#】UTF-8エンコーディングのファイルをSJISに変換する

C#

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);
        }
    }
}

このサンプルコードでは、以下のステップでファイルのエンコーディング変換を行っています。

  1. ファイルパスの指定: inputFilePath と outputFilePath で、それぞれ読み込み元と書き込み先のファイルパスを指定します。
  2. StreamReaderとStreamWriterの使用: UTF-8エンコーディングで読み込みを行うために StreamReader を使用し、Shift-JISエンコーディングでの書き込みのために StreamWriter を使用します。
  3. ファイルの読み込みと書き込み: StreamReader.ReadLine メソッドでファイルの内容を一行ずつ読み込み、StreamWriter.WriteLine メソッドで読み込んだ内容をShift-JISで出力ファイルに書き込みます。
  4. 例外処理: ファイル操作中に何らかのエラーが発生した場合、例外がキャッチされ、エラーメッセージが表示されます。

まとめ

本記事では、文字エンコーディングの変換を行うサンプルコードを紹介しました。

タイトルとURLをコピーしました