Java 读取包含来自不同语言的字符串的文件

标签 java encoding csv

我制作了一个程序,可以读取不同的文本文件并将其组合成一个 .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/

相关文章:

java - 为什么不会阻塞直到队列变为非空的方法?

java - 通过 JCo 以事务方式调用 BAPI RFC

java - setOnClickListener 和 setOnLongClickListener 不能同时工作

python - App-Engine 解析 UrlFetch UTF-8 编码流

php - 将字符串拆分为带有瑞典字符的单词

mysql - Bash:Base64 编码非常大的 .csv 中的 1 列并输出到新文件

php - 使用 PHP 将 XML 转换为 CSV,但有一些变化

java - For 循环不会向数组添加点

ios - 将希伯来语文本保存到 NSUserDefaults 返回奇怪的编码

mysql - 在 SQL 中读取 csv 文件