OpenCSV从文件中读取奇怪的文本

时间:2019-02-22 14:26:11

标签: java android csv file-handling opencsv

我使用的是AndroidStudio,我的应用程序必须读取一个CSV文件,如下所示:

"Anmeldung";"1576017126809898";"1547126680978123";"";"";"Frau"
"Anmeldung";"1547126680911112";"1547126680978123";"";"";"Frau"

但是,如您在下图中所看到的,OpenCSV读取了一个奇怪的字符,并且在我的列表中有一些毫无意义的字符串,这些字符串不在它读取的文件中

strange data

这是我从文件中读取数据的方式:

        try {
        FileReader filereader = new FileReader(filePath);
        CSVParser parser = new CSVParserBuilder().withSeparator(';').build();

        CSVReader csvReader = new CSVReaderBuilder(filereader)
                .withSkipLines(1)
                .withCSVParser(parser)
                .build();
        List<String[]> allData = csvReader.readAll();
        MainActivity.setAllData(allData);

    }
    catch (Exception e) {
        e.printStackTrace();
    }

谢谢

2 个答案:

答案 0 :(得分:1)

似乎有一个编码问题。

确保以正确的编码(例如utf-8或utf-16)打开并解析文件。查看数据也一样。

答案 1 :(得分:0)

我知道了。听起来有点奇怪,但是我拿走了文件并全部替换了;与; 我认为我获得的数据是使用UTF-16编码或Linux设备导出的。

tl; dr文件的编码错误。我打开并查看它的方式是正确的