我在阅读2 csv文件:store_inventory
& new_acquisitions
。
我希望能够将store_inventory
csv文件与new_acquisitions
进行比较。 1)如果项目名称匹配只更新store_inventory中的数量。 2)如果new_acquisition具有store_inventory
中不存在的新项目,则将其添加到store_inventory
。Java:CSV文件读写
这是我迄今为止所做的,但它不是很好。我添加了评论,我需要添加taks & 。
任何建议或代码来完成上述任务将是伟大的!谢谢。
File new_acq = new File("/src/test/new_acquisitions.csv");
Scanner acq_scan = null;
try {
acq_scan = new Scanner(new_acq);
} catch (FileNotFoundException ex) {
Logger.getLogger(mainpage.class.getName()).log(Level.SEVERE, null, ex);
}
String itemName;
int quantity;
Double cost;
Double price;
File store_inv = new File("/src/test/store_inventory.csv");
Scanner invscan = null;
try {
invscan = new Scanner(store_inv);
} catch (FileNotFoundException ex) {
Logger.getLogger(mainpage.class.getName()).log(Level.SEVERE, null, ex);
}
String itemNameInv;
int quantityInv;
Double costInv;
Double priceInv;
while (acq_scan.hasNext()) {
String line = acq_scan.nextLine();
if (line.charAt(0) == '#') {
continue;
}
String[] split = line.split(",");
itemName = split[0];
quantity = Integer.parseInt(split[1]);
cost = Double.parseDouble(split[2]);
price = Double.parseDouble(split[3]);
while(invscan.hasNext()) {
String line2 = invscan.nextLine();
if (line2.charAt(0) == '#') {
continue;
}
String[] split2 = line2.split(",");
itemNameInv = split2[0];
quantityInv = Integer.parseInt(split2[1]);
costInv = Double.parseDouble(split2[2]);
priceInv = Double.parseDouble(split2[3]);
if(itemName == itemNameInv) {
//update quantity
}
}
//add new entry into csv file
}
再次感谢您的帮助。 =]
你会发现你会得到更多更好的答案,如果你真的问一个问题。 – 2010-06-06 01:57:15