我编写了一个 Java 程序,它使用 JFileChooser 打开所有类型的文件。然后我想用 JFileChooser 保存对话框将它保存在另一个目录中,但它只保存一个空文件。我可以做些什么来节省零件?
谢谢。
我编写了一个 Java 程序,它使用 JFileChooser 打开所有类型的文件。然后我想用 JFileChooser 保存对话框将它保存在另一个目录中,但它只保存一个空文件。我可以做些什么来节省零件?
谢谢。
JFileChooser 只返回 File 对象,您必须打开 FileWriter 并将内容实际写入其中。
例如
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
FileWriter fw = new FileWriter(file);
fw.write(contents);
// etc...
}
编辑:
假设您只有一个源文件和目标文件,并且想要在两者之间复制内容,我建议您使用Apache 的Commons IO中的FileUtils之类的东西来完成繁重的工作。
例如
FileUtils.copy(source, dest);
完毕!
除了Kris 的回答之外- 我猜,您还没有阅读文件的内容。基本上,您必须执行以下操作才能使用 java 并使用 JFileChooser 复制文件:
文件打开对话框不会将文件的内容读入内存——它只是返回一个代表文件的对象。
就像是..
File file = fc.getSelectedFile();
String textToSave = mainTextPane.getText();
BufferedWriter writer = null;
try
{
writer = new BufferedWriter( new FileWriter(file));
writer.write(textToSave);
JOptionPane.showMessageDialog(this, "Message saved. (" + file.getName()+")",
"ImPhil HTML Editer - Page Saved",
JOptionPane.INFORMATION_MESSAGE);
}
catch (IOException e)
{ }