JFileChooser fc = new JFileChooser();
int resp = fc.showSaveDialog(fc);
if (resp == JFileChooser.APPROVE_OPTION) {
PrintStream fileOut = null;
try {
File file = fc.getSelectedFile();
fileOut = new PrintStream(file);
fileOut.print(txtArea.getText());
} catch (FileNotFoundException ex) {
Logger.getLogger(frmNotePad.class.getName()).log(Level.SEVERE, null, ex);
} finally {
fileOut.close();
}
答案 0 :(得分:0)
如果你想将保存作为保存的替代,让程序存储一个File对象,引用当前打开的文件的路径,这样程序总是知道它正在编辑什么,然后只需写入程序文件变量
答案 1 :(得分:0)
改变你的工作流程。
基本上,当您第一次保存文件时,您需要保留对您保存到的File
的引用...
public class ... {
private File currentFile;
现在,当您去保存文件时,您需要检查currentFile
是否为null
。它是null
,你要求用户选择一个文件,否则你可以继续尝试保存文件...
if (currentFile == null) {
JFileChooser fc = new JFileChooser();
int resp = fc.showSaveDialog(fc);
if (resp == JFileChooser.APPROVE_OPTION) {
currentFile = fc.getSelectedFile();
}
}
// Used to make sure that the user didn't cancel the JFileChooser
if (currentFile != null) {
PrintStream fileOut = null;
try {
fileOut = new PrintStream(file);
fileOut.print(txtArea.getText());
} catch (IOException ex) {
Logger.getLogger(frmNotePad.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
fileOut.close();
} catch (IOException exp) {
}
}