Я читаю 2 CSV-файла: store_inventory
& new_acquisitions
.
Я хочу иметь возможность сравнить store_inventory
CSV-файл с new_acquisitions
.
1) Если имена предметов совпадают, просто обновите количество в store_inventory.
2) Если в new_acquisitions есть новый элемент, который не существует в store_inventory
, то добавьте его в store_inventory
.
Вот что я уже сделал, но это не очень хорошо. Я добавил комментарии, где мне нужно добавить taks 1 & 2 .
Любой совет или код для выполнения вышеперечисленных задач будет замечательно! спасибо.
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
}
Еще раз спасибо за любую помощь. =] * 1 018 *