我製作了一個讀取不同文本文件的程序,並將其組合成一個.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