OpenCSV 从文件中读取奇怪的文本
OpenCSV reads strange text out of file
我正在使用 AndroidStudio,我的应用程序必须读取如下所示的 CSV 文件:
"Anmeldung";"1576017126809898";"1547126680978123";"";"";"Frau"
"Anmeldung";"1547126680911112";"1547126680978123";"";"";"Frau"
但是如下图所示,OpenCSV 读取了一些奇怪的字符,在我的列表中有一些无意义的字符串,这些字符串不在它读取的文件中
这是我从文件中读取数据的方式:
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();
}
谢谢
似乎存在编码问题。
确保使用正确的编码(例如 utf-8 或 utf-16)打开和解析文件。查看数据也是如此。
我明白了。听起来可能很奇怪,但我拿走了文件并全部替换了;和 ;
我认为我得到的数据是使用 UTF-16 编码或从 linux 设备导出的。
tl;dr 文件编码错误。而且我打开查看的方式是正确的
我正在使用 AndroidStudio,我的应用程序必须读取如下所示的 CSV 文件:
"Anmeldung";"1576017126809898";"1547126680978123";"";"";"Frau"
"Anmeldung";"1547126680911112";"1547126680978123";"";"";"Frau"
但是如下图所示,OpenCSV 读取了一些奇怪的字符,在我的列表中有一些无意义的字符串,这些字符串不在它读取的文件中
这是我从文件中读取数据的方式:
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();
}
谢谢
似乎存在编码问题。
确保使用正确的编码(例如 utf-8 或 utf-16)打开和解析文件。查看数据也是如此。
我明白了。听起来可能很奇怪,但我拿走了文件并全部替换了;和 ; 我认为我得到的数据是使用 UTF-16 编码或从 linux 设备导出的。
tl;dr 文件编码错误。而且我打开查看的方式是正确的