我的代码有问题。我正在使用 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 上按下退出按钮时,将调用此方法。