如何使用java更改文本文件编码字符集

时间:2012-10-24 00:03:57

标签: java character-encoding

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

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

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

2 个答案:

答案 0 :(得分:1)

  

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

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


  

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

Charset#availableCharsets()

SortedMap<String, Charset> availableCharsets = Charset.availableCharsets();
// ...

答案 1 :(得分:0)