Czytam 2 pliki CSV: store_inventory
& new_acquisitions
.
Chcę móc porównać plik CSV store_inventory
z new_acquisitions
. 1) Jeśli nazwy pozycji pasują, zaktualizuj tylko ilość w store_inventory. 2) Jeśli nowe_kady mają nowy element, który nie istnieje w store_inventory
, dodaj go do store_inventory
.Java: odczyt i zapis pliku CSV
Oto, co zrobiłem do tej pory, ale jest niezbyt dobra. Dodałem komentarze, w których muszę dodać zadanie: & .
Każda rada lub kod służący do wykonywania powyższych zadań będzie świetny! dzięki.
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
}
Jeszcze raz dziękuję za pomoc. =]
Znajdziesz masz coraz lepsze odpowiedzi, jeśli rzeczywiście zadać pytanie. –