我想解析以下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中的中心点。

您可能必须将其修剪掉(或检查是否可以为CSVReaderFileReader提供参数以跳过那些字节)。有关更多信息,请参见here

关于csv - 解析的CSV文件开头显示点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34535616/

10-09 23:13