gpt4 book ai didi

java - 如何保存文本文件而不必每次都输入文件名?

转载 作者:行者123 更新时间:2023-11-29 03:20:49 25 4
gpt4 key购买 nike

大家好,我正在创建一个简单的文本编辑器作为一个项目,但在将键入的内容保存为文件时遇到了麻烦。我可以使用另存为原则保存文件,并在对话框中提示用户输入文件名。

我遇到的问题是实现保存,这样它就可以保存到打开的文件中,而不必每次都转到对话框,就像有人按 Ctrl+S 时那样。有人知道我将如何实现此功能吗?

这是我的一些代码:

JMenuItem saveFile = new JMenuItem(new AbstractAction("Save") {

@Override
public void actionPerformed(ActionEvent e) {
JFileChooser save = new JFileChooser();
File filename = save.getSelectedFile();
if(opened == false && saved == false) {
save.showSaveDialog(null);
int confirmationResult;
if(filename.exists()) {
confirmationResult = JOptionPane.showConfirmDialog(getParent(), "Replace existing file?");
if(confirmationResult == JOptionPane.YES_OPTION) {
saveFile(filename);
}
} else {
saveFile(filename);
}
} else {
saveFile(filename);
}
}
});
saveFile.setPreferredSize(new Dimension(100, 20));
saveFile.setEnabled(true);

保存方法:

private void saveFile(File filename) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(filename));
writer.write(textArea.getText());
writer.close();
saved = true;
editorWindow.setTitle("JavaText - " + filename.getName());
} catch (IOException err) {
err.printStackTrace();
}
}

最佳答案

如果您将打开的文件对象存储在您的应用程序中的某处,您可以使用 KeyListener 或 KeyAdapter 将其传递到您的 saveFile 方法中。在没有看到更多应用程序的情况下,很难说出将它放在哪里最好,但如果您只是将它存储在某个地方的变量中,您就可以引用它。

关于java - 如何保存文本文件而不必每次都输入文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23713897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com