0
我正在嘗試開發一個學校項目的程序。不過,我對編碼不是很有經驗,所以很自然地遇到了頻繁的問題。我的項目的整個前提非常簡單,我正在創建一個馬管理系統,這個系統基本上只是一個數據庫的花哨措辭。首先,我添加關於這匹馬的信息,比如它的名字,品種,DOB和其他基本信息。之後,馬的個人資料已經創建。現在,您可以添加諸如培訓計劃,營養信息和過去受傷等信息。今天,當試圖爲營養添加信息時,我遇到了一個問題,它只是輸出一堆隨機文本。 Here's what is written on the text file when I try to write to it。我也有一個部分,你必須從文件中提取數據,從而使其可編輯,但沒有完成這一部分,我什麼都做不了。寫入文本文件時出現故障
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
boolean entryError = false;
if(FoodName.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "Enter the Horse Food Name.","Error.",JOptionPane.ERROR_MESSAGE);
entryError = true;
}
if(FoodQuantity.getText().equals("")&& entryError==false)
{
JOptionPane.showMessageDialog(null, "Enter the Horse Food
Quantity.","Error.",JOptionPane.ERROR_MESSAGE);
entryError = true;
}
if(FoodTime.getText().equals("")&& entryError == false)
{
JOptionPane.showMessageDialog(null, "Enter the Horse FoodTimes.","Error.",JOptionPane.ERROR_MESSAGE);
entryError = true;
}
if(entryError == false)
{
try {
FileWriter tWriter = new FileWriter("HorseNutrition.txt",true);
PrintWriter tPrinter = new PrintWriter(tWriter);
tPrinter.println(HorseID + "," + FoodName.getText() + "," + FoodQuantity.getText() + "," + FoodTime.getText());
tPrinter.close();
JOptionPane.showMessageDialog(null, "Nutritional data has been saved.","Info",JOptionPane.INFORMATION_MESSAGE);
}
catch(Exception error) {
System.out.println("Error in saving nutritional data");
}
}
任何幫助將不勝感激!
這看起來像是在嘗試打印出未重載'toString()'的對象。檢查你的'println()'語句,並在那裏調用每個變量的'.toString()'看看會發生什麼。 –
這可能是因爲'HorseID'是一個'JTextField',你直接打印到de文件而不是打印它的文本'HorseID.getText()'。而不是'tPrinter.println(HorseID +「,」....);'嘗試'tPrinter.println(HorseID.getText()+「,」...);' – Titus
感謝所有幫助的人。這已修復了主要錯誤,但現在寫入文件後,我意識到,每次寫入文件時,文件都只會覆蓋一匹馬的信息。例如,假設我製作Horse1並輸入他的信息,它會寫入好的文件,但是一旦我寫入另一匹馬的信息,該文件將只寫入我輸入的最後一匹馬的信息。有誰知道這可能是爲什麼?非常感謝! – user7572806