我想解析以下CSV文件:
02.01.15,Januar,GEZ,Telekommunikation,"€ 211,44",01_jährlich,Ist
02.01.15,Januar,BGV: Haftpfl. + Unfall,Versicherungen,"€ 171,95",01_jährlich,Ist
我使用以下代码进行解析:
CSVReader csvReader = new CSVReader(new FileReader(file));
String [] nextLine;
while ((nextLine = csvReader.readNext()) != null) {
for (String text : nextLine) {
System.out.print(text + " ");
}
System.out.println();
}
输出在第一行的开头显示一个垂直居中的点。
问题是什么?
最佳答案
这是由文件开头的UTF-8 signature
引起的(查看数据,您的文件可能是用UTF-8
编码的)。
https://en.wikipedia.org/wiki/Byte_order_mark
字节0xEF, 0xBB, 0xBF
(ASCII中的
)转换为UTF-8
中的中心点。
您可能必须将其修剪掉(或检查是否可以为CSVReader
或FileReader
提供参数以跳过那些字节)。有关更多信息,请参见here。
关于csv - 解析的CSV文件开头显示点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34535616/