我制作了一个读取不同文本文件的程序,并将其组合成一个.csv文件。它是一个.csv文件,翻译成英文,荷兰文,法文,意大利文,葡萄牙文和西班牙文。Java读取来自不同语言的字符串的文件
现在,这里是我的问题:
最后我得到一个很好的填充.csv文件与所有的翻译作品。我用UTF-8读取文件,除了法文之外,所有语言都显示正确。有些字符会显示为这样的问号:“Mis?jour”,它应该是“Misàjour”。
这里是读取与不同语言的不同文件,并从他们身上,使物体的方法,这样我就可以对它们进行排序恩把它们放在正确的位置.csv文件
的文件都写满这样的:
到机场; A L'Aéroport酒店
今天; Aujourd'hui
public static Language getTranslations(String inputFileName) {
Language language = new Language();
FileInputStream fstream;
try {
fstream = new FileInputStream(inputFileName);
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(inputFileName), "UTF-8"));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
String[] values = strLine.split(";");
if(values.length == 2) {
language.putTranslationItem(values[0], values[1]);
}
}
//Close the input stream
in.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
return language;
}
我希望有人能帮帮忙啊!
感谢
你是否检查过包含法文文件的文件是否真的被正确读取?也许来自这些文件的输入已经被破坏(错误的编码或其他)。 – 2012-01-31 10:56:32
是的,文字是正确的。在Eclipse上阅读时发生错误 – Fergers 2012-01-31 10:58:10
不清楚这里有什么问题。上面的代码是用问号读取字符串还是它是包含问号的CSV文件?你确定该文件是UTF-8编码?我的猜测是,事实并非如此。 (注意:你的代码应该是固定的,不要忽略异常,不要打开无用的流,并且总是在最后的块中关闭它们) – 2012-01-31 11:04:22