0

我的代码有问题。我正在使用 AWT FileDialog,并且创建文件工作得很好。在我的程序中,我可以选择向现有文件添加文本,但目前它不会向该文件添加文本。我无法找出解决方案,因为它没有返回任何错误。这是我的代码:

if (optiondialog == 1) {
                    FileDialog fc = new FileDialog(form, "Choose a file to open", FileDialog.LOAD);
                    fc.setDirectory("~/");
                    fc.setVisible(true);
                    String fileName = fc.getFile();
                    if (!fileName.isEmpty()) {
                        stuff = new File(fc.getDirectory() + fc.getFile());
                        form.studentNameBox.requestFocus();
                        form.setVisible(true);
                        System.out.println(stuff);
                        noValidInput = false;
                    }
                    else {
                        JOptionPane.showMessageDialog(null, "ERROR! No name entered, please go back and try again.");
                    }
                }

这是我写入文件的方法:

public static void addToFile() throws IOException {
        FileWriter fw = new FileWriter(Main.stuff, true);
        for (int i = 0; i < grades.size(); i++) {
            fw.write(grades.get(i) + System.getProperty("line.separator"));
        }
        fw.close();
    }

此代码与 JFileChooser 一起使用,但这些窗口在 Mac 上很难看。就像我说的,如果文件事先不存在,我可以写入文件,但我不能编辑或添加到现有文件,这不是我的 JFileChooser 的问题。此外,当窗口关闭(使用 WindowListener 完成)或在我创建的 JFrame 上按下退出按钮时,将调用此方法。

4

0 回答 0