如何在java中读取unicode编码文件

时间:2014-07-08 17:35:52

标签: java file-io unicode

我正在尝试读取已使用Unicode编码的文件(我使用Editplus查找其编码。)

我使用以下代码: -

InputStream inStream = new FileInputStream(logFile);
InputStreamReader streamReader = new InputStreamReader(inStream, "Unicode");
final BufferedReader reader = new BufferedReader(streamReader);

但是它没有正确读取文件。当我尝试“UTF-8”时,它会读取文件,但产生的输出在每个字符后都包含一个空格。

我需要读取文件并在JList中显示其内容。我搜索并了解了

  

Unicode字符使用2个字节。使用ASCII文本,每隔一个字节将是一个二进制0,它将显示为?与大多数文本编辑器对齐。

这与我的情况类似。我对编码知之甚少。

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

我不确定是什么字节顺序" Unicode"给出,但你应该尝试" UTF-16BE"和" UTF-LE" - 显然BE是Big Endian,LE是Little Endian。 (每个16位代码单元中首先出现哪个字节。)

(我刚刚读过" UTF-16"默认为大端,所以我怀疑" Unicode"也是......这意味着" UTF-16LE"更有可能工作。)