9

ANSIエンコーディングのテキストファイルがあり、UTF8エンコーディングに変換する必要があります。

私のテキストファイルはこのようなものです Stochastic programming is an area of mathematical programming that studies how to model decision problems under uncertainty. For example, although a decision might be necessary at a given point in time, essential information might not be available until a later time.

4

4 に答える 4

9

java.nio.charset.Charset クラスを使用して明示的に指定できます (ANSI の適切な名前は windows-1252 です)。

public static void main(String[] args) throws IOException {
    Path p = Paths.get("file.txt");
    ByteBuffer bb = ByteBuffer.wrap(Files.readAllBytes(p));
    CharBuffer cb = Charset.forName("windows-1252").decode(bb);
    bb = Charset.forName("UTF-8").encode(cb);
    Files.write(p, bb.array());
}

または、必要に応じて 1 行で =)

Files.write(Paths.get("file.txt"), Charset.forName("UTF-8").encode(Charset.forName("windows-1252").decode(ByteBuffer.wrap(Files.readAllBytes(Paths.get("file.txt"))))).array());
于 2013-08-09T06:45:24.113 に答える
0

ASCII 文字サブセットは UTF8 の同じ文字エンコーディングにマップされるため、ファイルを実際に変換する必要はありません。

ファイルを UTF-8 で出力するには、次を使用できます。

PrintWriter out = new PrintWriter(new File(filename), "UTF-8");
out.print(text);
out.close();
于 2013-08-09T06:33:21.590 に答える