我编写了一个Java程序,用JFileChooser打开所有类型的文件。然后我想用JFileChooser保存对话框将它保存在另一个目录中,但它只保存一个空文件。我可以做些什么来节省一部分?
感谢。
答案 0 :(得分:8)
JFileChooser只返回File对象,你必须打开一个FileWriter并实际写入内容。
E.g。
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
FileWriter fw = new FileWriter(file);
fw.write(contents);
// etc...
}
编辑:
假设您只是拥有一个源文件和目标文件,并希望在两者之间复制内容,我建议您使用Apache FileUtils中的Commons IO之类的内容来完成繁重的工作。< / p>
E.g。
FileUtils.copy(source, dest);
完成!
答案 1 :(得分:2)
除了Kris' answer之外 - 我想,你还没有读过该文件的内容。基本上,您必须执行以下操作以使用Java复制文件并使用JFileChooser:
文件打开对话框不会将文件内容读入内存 - 它只返回一个表示文件的对象。
答案 2 :(得分:0)
像...这样的东西。
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)
{ }