我想将文件从一个包复制到另一个包。
我尝试了Files.copy
方法,但它用复制的文件替换了我的文件夹。
public static void main(String[] args) throws IOException {
InputStream in = CopyFileToDirectoryTest.class.getClassLoader()
.getResourceAsStream("com/stackoverflow/main/Movie.class");
Path path = Paths.get("D://folder");
long copy = Files.copy(in, path,StandardCopyOption.REPLACE_EXISTING);
System.out.println(copy);
}
这不起作用,因为它删除了文件夹并创建了文件夹名称的文件。
java 8中有没有办法,或者我应该使用apache.commons.io?
答案 0 :(得分:6)
Files.copy
需要目标文件的名称。
Path targetFilePath = Paths.get("D:/folder/Movie.class");
这确实需要比传统的&#34更多一点;如果目标是目录,则将文件复制到其中。" 另一方面,这是一个非常有用的要求: InputStream不再具有名称。