我正在嘗試編寫一個模擬記錄存儲購物車的Java程序。第一步是打開inventory.txt
文件並閱讀基本上「商店必須提供」的內容。然後我需要逐一閱讀每一行並處理id記錄和價格。從逗號分隔的文本文件中讀取
當前方法輸出的結果與我所需要的非常接近,但是,它會在下一行的項目標識上顯示,如下所示。
我想知道如果有人能幫助我弄清楚如何單獨處理文本文檔中的每一行,並將每一塊數據存儲在自己的變量中,而不需要拾取下一項的id
?
public void openFile(){
try{
x = new Scanner(new File("inventory.txt"));
x.useDelimiter(",");
}
catch(Exception e){
System.out.println("Could not find file");
}
}
public void readFile(){
while(x.hasNext()){
String id = x.next();
String record = x.next();
String price = x.next();
System.out.println(id + " " + record + " " + price);
break;
}
}
的.txt文件:
11111, "Hush Hush... - Pussycat Dolls", 12.95
22222, "Animal - Ke$ha", 9.95
33333, "Hanging By A Moment - Lifehouse - Single, 4.95
44444, "Have A Nice Day - Bon Jovi", 9.99
55555, "Day & Age - Killers", 10.99
66666, "She Wolf - Shakira", 15.99
77777, "Dark Horse - Nickelback", 12.99
88888, "The E.N.D. - Black Eyed Peas", 10.95
實際輸出
11111 "Hush Hush... - Pussycat Dolls" 12.95
22222
預期的結果
11111 "Hush Hush... - Pussycat Dolls" 12.95
有許多Csv庫可用,例如在Sourceforge上有「Java CSV庫」,openCsv,JRecord,flatpac等,請參閱https://sourceforge.net/projects/javacsv/?source=directory或https://sourceforge.net/projects/opencsv/?source=目錄 –