0

如题。如何用不同的字符集重写文件?

在哪里可以找到可用的编码 - 最终静态整数?

    FileInputStream fis = new FileInputStream(inputFile);
    InputStreamReader isr = new InputStreamReader(fis, inputEncoding);
    BufferedReader in = new BufferedReader(isr);

    FileOutputStream fos = new FileOutputStream(outputFile);
    OutputStreamWriter osw = new OutputStreamWriter(fos, outputEncoding);
    BufferedWriter out = new BufferedWriter(osw);

    String line = in.readLine();
    out.write(line);
4

2 回答 2

1

如题。如何用不同的字符集重写文件?

我不确定你为什么问这个问题,因为你的代码看起来是合法的,尽管它只复制了 1 行(并且吞下了换行符)。我不会使用readLine(),但只是read()在一个循环中,也许有一个缓冲区。这样您就可以复制所有内容而无需修改/吞下换行符。


在哪里可以找到可用的编码 - 最终静态整数?

Charset#availableCharsets().

SortedMap<String, Charset> availableCharsets = Charset.availableCharsets();
// ...
于 2012-10-24T00:08:31.767 回答
0

JDK 文档中指定了支持的编码格式。

根据转换,您可以使用

于 2012-10-24T00:09:48.617 回答