[英]Save JTextField and Selected Radio Button Data To A Text File
我已經在Netbeans中創建了一個GUI,以從用戶獲取某些字段的輸入。 我不明白如何將JTextField和單選按鈕中的文本保存到文本文件中。
我附上了用戶表格的下方圖片。
按下“確定”按鈕后,用戶將獲得一個對話框來保存文件。
目前,我可以將文件保存為文本文件。 但是,文本文件中什么也沒有出現。 如何從每個文本字段和單選按鈕檢索數據?
請幫忙,我嘗試了很多解決方案,但無法正常工作。
private void buttonOkActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
String filename = JOptionPane.showInputDialog(null, "Enter the name to be saved", "File Name", 1 );
FileOutputStream writer = new FileOutputStream(filename+".dat");
txtFirstName.getText().toString(); //Trying to get text from First Name field.
writer.close();
JOptionPane.showMessageDialog(null,"Saved Successfully");
}catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
之間
FileOutputStream writer = new FileOutputStream(filename+".dat");
和
writer.close();
您實際上應該使用FileOutputStream的write
方法進行write
。
我認為您想要做的是:
FileOutputStream writer = null;
try {
FileOutputStream writer = new FileOutputStream(filename+".dat");
OutputStreamWriter os = new OutputStreamWriter(writer);
BufferedWriter bw = new BufferedWriter(os);
bw.write(txtFirstName.getText().toString());
} catch (FileNotFoundException ex) {
Logger.getLogger(generafechas.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(generafechas.class.getName()).log(Level.SEVERE, null, ex);
}finally{
if(writer!=null)
try {
writer.close();
} catch (IOException ex) {
Logger.getLogger(generafechas.class.getName()).log(Level.SEVERE, null, ex);
}
}
在上面的代碼中,您可以看到FileOutputStream(為方便起見,通常將其稱為fos)進行了包裝。
有兩個類來用Java編寫文件。 讀者/作家和流。 您的fos是一個流,因此它處理系統特定的實現並寫入字節或整數,同時BufferedWritter(出於懶惰的緣故,bw)處理寫入對象和基本類型。 通過包裝,我們可以兼得兩全其美,即高級處理和低級功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.