我制作了一个程序,可以读取不同的文本文件并将其组合成一个 .csv 文件。它是一个 .csv 文件,包含英语、荷兰语、法语、意大利语、葡萄牙语和西类牙语的翻译。
现在这是我的问题:
最后我得到了一个漂亮的填充 .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;
}
希望大家帮帮忙!
谢谢
最佳答案
我不是很确定,但是你可以尝试将 values[0] 和 values[1] 字符串转换成 bytearray
byte[] value_0_utfString = values[0].getBytes("UTF-8") ;
byte[] value_1_utfString = values[1].getBytes("UTF-8") ;
然后将其转换回字符串
str_0 = new String(value_0_utfString ,"UTF-8") ;
str_1 = new String(value_1_utfString ,"UTF-8") ;
不确定这是否是正确/优化的方式,但由于单行包含英语和法语,我认为拆分和编码可能会有所帮助,我自己还没有尝试过
关于Java 读取包含来自不同语言的字符串的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9078299/