簡體   English   中英

將JTextField和選定的單選按鈕數據保存到文本文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM