Java:读写CSV文件
我正在读取2个csv文件:store_inventory
&new_acquisitions
。
我希望能够将store_inventory
CSV文件与进行比较new_acquisitions
。1)如果项目名称匹配,只需更新store_inventory中的数量。2)如果new_acquisitions具有不存在的新项目store_inventory
,则将其添加到中store_inventory
。
这是我到目前为止所做的,但是效果不是很好。我在需要添加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
}
再次感谢任何帮助。=]
回答:
建议您使用现有的CSV解析器之一,例如Commons CSV或Super CSV,而不是重新发明轮子。应该使您的生活更加轻松。
以上是 Java:读写CSV文件 的全部内容, 来源链接: utcz.com/qa/419571.html