使用JFileChooser保存文件

时间:2011-07-27 17:09:59

标签: java swing jfilechooser

我想将文件保存到用户从一个目录中选择的另一个目录。我知道可以使用JFileChooser来选择文件。但是,有没有什么方法可以将文件从一个位置移动到另一个位置,而不是使用任何输出流?

1 个答案:

答案 0 :(得分:2)

仅当且仅当它们位于相同本地磁盘文件系统上时,您才可以使用File#renameTo()

File sourceFile = createItSomehow();
File targetFile = chooser.getSelectedFile();

boolean renamed = sourceFile.renameTo(targetFile);

if (!renamed) {
    // Well, perhaps they are not on the same disk?
}

对于所有其他情况,只需流式传输即可让您感觉更好。另请参见链接的javadoc:

  

此方法行为的许多方面本质上都依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,并且如果文件具有目标抽象路径名已存在。应始终检查返回值以确保重命名操作成功。