Java OpenCSV从文件中读取奇怪的文本
我正在使用AndroidStudio,我的应用程序必须读取CSV文件,如下所示:Java OpenCSV从文件中读取奇怪的文本,java,android,csv,file-handling,opencsv,Java,Android,Csv,File Handling,Opencsv,我正在使用AndroidStudio,我的应用程序必须读取CSV文件,如下所示: "Anmeldung";"1576017126809898";"1547126680978123";"";"";"Frau" "Anmeldung";"1547126680911112";"1547126680978123";"";"";"Frau" 但正如您在下图中所看到的,OpenCSV读取一些奇怪的字符,在我的列表中,有一些无意义的字符串不在它读取的文件中 以下是我从文件中读取数据的方式:
"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();
}
试试看{
FileReader FileReader=新的FileReader(filePath);
CSVParser parser=new CSVParserBuilder().withSeparator(“;”).build();
CSVReader CSVReader=新的CSVReaderBuilder(文件阅读器)
.基普林斯(1)
.withCSVParser(解析器)
.build();
List allData=csvReader.readAll();
MainActivity.setAllData(所有数据);
}
捕获(例外e){
e、 printStackTrace();
}
谢谢似乎有编码问题
确保使用正确的编码(例如utf-8或utf-16)打开并解析文件。查看数据也一样。我想出来了。听起来可能有点奇怪,但我拿了文件,把所有的都换了;具有 我想我得到的数据是使用UTF-16编码的exportet,或者来自linux设备
tl;该文件的编码错误。我打开和查看的方式是正确的我仔细检查了所有编码(编辑器和阅读器),所有编码都配置了utf-8。看起来csvreader真的在读我的文件wrong@peldaftw我的意思是“例如”utf-8(或文件的任何编码)。