繁体   English   中英

使用JFileChooser保存对话框保存文件

[英]save file with JFileChooser save dialog

我编写了一个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:

  1. 使用FileChooser选择文件。 这将返回一个File对象,或多或少是文件文件名的包装类
  2. 将FileReader与File一起使用以获取内容。 将其存储在String或字节数组或其他内容中
  3. 使用FileChooser选择目标文件。 这又返回一个File对象
  4. 将FileWriter与目标File一起使用,将String或byte数组从上面存储到该文件中。

文件打开对话框不会将文件内容读入内存 - 它只返回一个表示文件的对象。

就像是..

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)
{ }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM