我如何用Java读取俄语文件?

时间:2012-07-05 07:53:38

标签: java file unicode

我尝试为此添加UTF-8,但它没有成功。如何用Java阅读俄文文件?

      FileInputStream fstream1 = new FileInputStream("russian.txt");
      DataInputStream in = new DataInputStream(fstream1);
      BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));

2 个答案:

答案 0 :(得分:5)

如果文件来自Windows PC,请尝试使用“windows-1251”或“Cp1251”作为字符集名称。

如果文件以某种方式处于MS-DOS编码中,请尝试使用“Cp866”。

这两种都是单字节编码,将文件类型更改为UTF-8(多字节)不会做任何事情。

如果所有其他方法都失败了,请使用十六进制编辑器并将这些文件的几行十六行转储给您。然后我们将检测编码。

答案 1 :(得分:3)

正如其他人提到的,你需要知道文件是如何编码的。一个简单的检查是(ab)使用Firefox作为编码检测器:answer to similar question

如果这是一个显示问题,那么它取决于你的意思"读取":在控制台中,在某些窗口中?另请参阅How can I make a String with cyrillic characters display correctly?