我正在尝试使用Eclipse Neon 4.6.0将包含希伯来语和英语字符的.dat text file导入到java程序中:
String[] getFile(String path) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(this.getClass().getResource("../../../t3utf.dat").openStream()));
String l;
String[] dataFile = new String[23213]; //Does java have push and pop or auto expanding lists?
int c = 0;
while ((l = in.readLine()) != null) {
dataFile[c] = l;
c++;
}
return dataFile;
}
出于某种原因,希伯来字符被随机乱码所取代:
原文:gen|1|1|בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃
一旦程序运行一次,所有希伯来字符都被替换为乱码:
新:gen|1|1|בְּרֵ×ש×ִ֖ית ×‘Ö¼Ö¸×¨Ö¸Ö£× ×Ö±×œÖ¹×”Ö´Ö‘×™× ×ֵ֥תהַש×Ö¼Ö¸×žÖ·Ö–×™Ö´× ×•Ö°×ֵ֥ת ×”Ö¸×ָֽרֶץ׃
实际上,文件本身会变成乱码 - 在运行程序后在记事本中查看时,字符已经发生了某种变化。
我在AIDE的Android上运行了我的程序版本,但是没有这个问题。 Eclipse是否会不必要地强制进行特定的无用编码?