我正在寫打開,看起來像這樣最初的文件的程序:如何從可能存在或不存在的文件中讀取字符串?
3000.0 Lamps 15.3 400 Chairs 19.95 250 Desks 95.0 300
,其中第一行是一個公司的平衡,線的其餘部分包含產品名稱,價格,和數量。
但是,在整個程序中,我們對文件進行了更改,並使用Printwriting對象保存最後所做的操作。在計劃過程中我們可以做的其中一件事是向庫存添加新物品。但是,我必須能夠閱讀具有多個名稱的產品,例如桌椅。由於我的代碼是現在編寫的,文件只讀取名稱然後右移到價格,所以如果我嘗試讀取多字名稱,它會給我一個運行時錯誤,因爲我試圖讀取一個字符串與雙。因此,我應該如何閱讀可能不含有兩個字符串的行?而且,如果有兩個字符串,我該如何編寫它,以便將它們都存儲在相同的字符串變量中?這是我的代碼:
File file = new File("inventory.txt");
Scanner inputFile = new Scanner(file);
ArrayList<String> productName = new ArrayList<String>();
ArrayList<Double> productQuantity = new ArrayList<Double>();
ArrayList<Double> productPrice = new ArrayList<Double>();
double balance = inputFile.nextDouble();
while (inputFile.hasNext())
{
String product = inputFile.next();
double price = inputFile.nextDouble();
double quantity = inputFile.nextDouble();
//Takes those variables and stores each of them in ArrayList objects
productName.add(product);
productPrice.add(price);
productQuantity.add(quantity);
}
inputFile.close();
你檢查嗎? [用java檢查現有文件](https://stackoverflow.com/questions/1816673/how-do-i-check-if-a-file-exists-java-on-windows) – 2014-10-20 20:52:14
@Freezzo - 它是字符串可能或不可能在那裏,而不是文件。 – 2014-10-20 20:53:12
我不需要檢查文件是否存在。我知道該怎麼做。如果產品名稱不止一個單詞,我需要能夠讀入多個字符串。例如,如果有一行表示「Desk Chairs 20.5 300」,我需要能夠將名稱「Desk Chairs」存儲在一個String變量中,但對於該行來說,僅僅因爲有另外3行只有一個單詞產品名稱。 – user3525572 2014-10-20 20:57:58