【发布时间】:2015-10-26 18:40:05
【问题描述】:
我正在使用 csvwriter 编写一个 csv 文件,然后调用它的方法 writeAll。写入后我正在使用缓冲读取器读取同一个文件,这导致数字格式异常。我该如何解决?
public static void writeInventoryToUpdate(List<String[]> data)throws IOException {
String csv = "E:\\Semester 3\\PointOfSale2\\Inventory.csv";
CSVWriter writer = new CSVWriter(new FileWriter(csv));
writer.writeAll(data);
writer.close();
}
public void initInventory() throws FileNotFoundException, IOException {
BufferedReader readInventory=new BufferedReader(new FileReader("E:\\Semester 3\\PointOfSale2\\Inventory.csv"));
String line=readInventory.readLine();
StringTokenizer nextItem;
while(line!=null){
nextItem=new StringTokenizer(line, ",");
while(nextItem.hasMoreTokens()){
int productID=Integer.parseInt(nextItem.nextToken()); //Exception occuring here
int quantity=Integer.parseInt(nextItem.nextToken());
Inventory inventory=new Inventory(productID, quantity);
inStock.add(inventory);
line=readInventory.readLine();
}
}
readInventory.close();
}
【问题讨论】:
-
通过编辑您的问题向我们展示代码和完整的堆栈跟踪,并在代码中标记问题所在的行。
-
在您向我们展示您的 CSV 文件的格式或用于写入/读取它们的代码之前,我们确实无法为您提供太多帮助 - 您必须帮助我们帮助您
-
public static void writeInventoryToUpdate(List
data)throws IOException{ String csv = "E:\\Semester 3\\PointOfSale2\\Inventory.csv"; CSVWriter writer = new CSVWriter(new FileWriter(csv)); writer.writeAll(数据); writer.close(); } -
还包括一个 csv 文件的示例,尽管堆栈跟踪应该向您显示异常发生在哪一行,这样您就可以看到它试图读取的字段。另请注意,csv 文件可以有标题,并且可以引用字段,这两者都不是你处理的。
-
调试它? nextItem.nextToken() 是什么?在寻求帮助之前,您应该学习如何调试应用程序。