我需要一个解决方案..问题出在csv文件中,产品值用双引号进行操作,因此我的代码无法读取完整的产品价值,只能读取" Marlin - 12"但完整的产品名称是"马林 - 12"" - 自定义"。
PRODUCT_ID,CATEGORY,PRODUCT, MIN_STOCK_LEVEL
23, cat1, "Marlin - 12"" - Custom",2
24, cat1, "Marlin - 12"" – Custom1",3
25, cat2, "Marlin - 12"" – Custom2",3
26, cat3, "Marlin - 12"" – Custom3",2
27, cat4, "Marlin - 12"" - Custom",2
28, cat5, "Marlin - 12"" - Custom",2
用于读取csv文件的代码是
import com.Ostermiller.util.CSVParser
...
else if ( fileName.contains(".csv")) {
FileInputStream fis = new FileInputStream(fileName);
CSVParser csvp = new CSVParser(fis);
String[][] values = csvp.getAllValues();
tempClientProductCol = new ClientProductCol();
}
答案 0 :(得分:2)
CSV格式似乎是RFC 4180中指定的格式。根据{{3}},您必须使用Excel样式。记录了如何在那里使用它。您最终会使用Ostermiller site。
答案 1 :(得分:-1)
这在CSV文件或CSVParser中不是问题。当您将值设置为pojo时会发生这种情况。 这里的工作代码
FileInputStream fis = new FileInputStream("path.csv");
CSVParser csvp = new CSVParser(fis);
String[][] values = csvp.getAllValues();
System.out.println(values[1][2]);