Java Swing 计算器,即使您关闭程序,它也使用文件处理来保存和读取数字

Java Swing Calculator which uses file handling to save and read number even when you close the programm

我正在使用 Java Swing 库开发一个简单的 GUI 计算器,遇到了我找不到解决方案的问题。刚开始学习Java,问题简单的不要苛求我

我的问题的主要思想是,我正在尝试使用 Java.io“文件处理”将数字保存到文件中,并在您将计算器重新打开到文本字段时获取该数字。

代码如下:

public void actionPerformed (ActionEvent e) 
{
    //---------------------------------------------------------------
    if (e.getSource() == button_save) {
        save = mytext.getText();
        writeF(save); // problem is here "Unhandled exception type IOException"
    }
    else if (e.getSource() == button_recall) {
        recall = readF(); // also here
        mytext.setText(recall);
    }

用户自定义方法

public static void writeF(String memory)throws IOException{
    FileWriter writehandle = new FileWriter("C:\Users\Public\Documents\memory.txt");
    BufferedWriter bw = new BufferedWriter(writehandle);
    
    bw.write(memory);
    bw.close();
    writehandle.close();
}

public static String readF()throws IOException{
    FileReader readhandle = new FileReader("C:\Users\Public\Documents\memory.txt");
    BufferedReader br = new BufferedReader(readhandle);
    
    String num = br.readLine();
    
    br.close();
    readhandle.close();
    
    return num;
}

您可以找到完整的代码here

解决方案:

    else if (e.getSource() == button_save) {
        save = mytext.getText();
        try
        {
            writeF(save);
        }
        catch (IOException e1)
        {
            e1.printStackTrace();
        } // problem is here "Unhandled exception type IOException"
    }
    else if (e.getSource() == button_recall) {
        try 
        {
            recall = readF();
        } 
        catch (IOException e1) 
        {
            e1.printStackTrace();
        } // also here
        mytext.setText(recall);
    }