9

*nix スクリプトのセットのエンコーディングをプログラムで Java から UTF-8 に変更する必要があります。私は彼らに何も書かないので、これを行うための最も簡単で最速の方法を見つけようとしています. ファイルは多すぎず、それほど大きくありません。私はできた:

  • エンコーディングとして UTF-8 が設定された OutputStream を使用して空の文字列を「書き込む」
  • 私はすでに FileUtils (Apache Commons から) を使用しているので、これらのファイルの内容を読み書きすることができ、エンコーディングとして UTF-8 を渡します。

大したことではありませんが、以前にこのケースに遭遇した人はいますか? どちらのアプローチにも短所はありますか?

4

1 に答える 1

14

ご要望に応じて、commons io を使用しているため、コード例を次に示します (風に合わせてエラー チェックを行います)。

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;

public class Main {
    public static void main(String[] args) throws IOException {
        String filename = args[0];
        File file = new File(filename);
        String content = FileUtils.readFileToString(file, "ISO8859_1");
        FileUtils.write(file, content, "UTF-8");
    }
}
于 2012-04-10T19:05:13.717 に答える