按目录选择器复制所选目录中的文件

时间:2017-09-26 08:28:20

标签: java javafx

我想复制目录选择器将选择的目录中的文件。为此,我尝试过..

    DirectoryChooser di = new DirectoryChooser();
    File src = new File("C:/Users/ir.emon/Desktop/dump1.png");
    File dest = di.showDialog(null);
    try {
        Files.copy(src.toPath(), dest.toPath());
    } catch (Exception e) {
        e.printStackTrace();
    }

但是这总是给出“java.nio.file.FileAlreadyExistsException”,尽管我想要复制的文件不存在于目录选择器所选择的目标目录中。我还尝试添加StandardCopyOption.REPLACE_EXISTING选项。但在这种情况下,目标(目标)文件夹已损坏。有人可以帮我这个吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

来自API docs

  

target - 目标文件的路径(可能与源路径的不同提供商相关联)

您没有提供文件作为目标,而是包含目录。所以你的代码的行为是完全合理的。

按如下方式更改您的代码:

Files.copy(src.toPath(), new File(dest, "deservedFilename.ext").toPath());