多数のテキストベースのファイル (php、css、js、html、tmpl など) を開いて、それらのコンテンツに対して操作を実行してから、別の場所 (ミラー) に再保存しようとしています。
背景: すべては、Web 開発者がプロジェクトをリリースする前に特定のクリーンアップ手順を自動的に実行するために使用できるツールです。
ただし、現在、これは UTF8 のみをサポートし、すべてを UTF8 として再保存します。ANSI、韓国語、UTF8 など、さまざまなエンコーディングで多数のテキスト ファイルを作成しました。
ただし、すべてが UTF8 として再保存され、場合によっては文字 (韓国語、キリル文字、中国語など) が失われます。
私が目指しているのは、ファイルを元のエンコーディングで開き、操作を実行して、以前とまったく同じエンコーディングで保存することです。
以下に、望ましくない結果をもたらす私の現在の試みを示します。
var cfi = new FileInfo("myfile.ext");
System.IO.TextReader tr = cfi.OpenText();
string fileContent = tr.ReadToEnd();
tr.Close();
// Do stuff to fileContent
File.WriteAllText(cfi.FullName, fileContent);
正しい方向へのポインタは高く評価されます。