如何使用Java 8复制具有不同扩展名的多个文件?

时间:2017-07-26 12:13:38

标签: java nio

我的工作目录中有不同类型的文件(.log,.xml,.opf等)。我需要将它们复制到另一个文件夹。但只有一个文件被复制,因为我理解这是因为在复制方法中使用StandardCopyOption.REPLACE_EXISTING。 这是我的Java代码

String currentDirectory = new File(new File("").getAbsolutePath()).getPath();

tempDirPath = Files.createDirectories(Paths.get(jobFolder).resolve("output"));

try {
            Files.copy(Paths.get(currentDirectory +File.separator+"content.xml"), tempDirPath, StandardCopyOption.REPLACE_EXISTING);
            Files.copy(Paths.get(currentDirectory +File.separator+"content.smil"), tempDirPath, StandardCopyOption.REPLACE_EXISTING);
            Files.copy(Paths.get(currentDirectory +File.separator+"content.opf"), tempDirPath, StandardCopyOption.REPLACE_EXISTING);
            Files.copy(Paths.get(currentDirectory +File.separator+"content.ncx"), tempDirPath, StandardCopyOption.REPLACE_EXISTING);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

请帮我解决这个问题。 在此先感谢..!

1 个答案:

答案 0 :(得分:1)

Files.copy第二个参数不是目录,而是文件名。

应该是:

Files.copy(Paths.get(currentDirectory +File.separator+"content.ncx"), tempDirPath.resolve("content.ncx"), StandardCopyOption.REPLACE_EXISTING);