Java:读写CSV文件

我正在读取2个csv文件:store_inventorynew_acquisitions

我希望能够将store_inventoryCSV文件与进行比较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

回到顶部