使用Java复制文件

时间:2016-03-03 19:56:10

标签: java

我尝试将文件从一个位置复制到另一个位置,同时替换旧文件,我不断收到此错误: The method copy(Path, Path, CopyOption...) in the type Files is not applicable for the arguments (File, File, StandardCopyOption)

我的代码如下

Files.copy(file1, file2, StandardCopyOption.REPLACE_EXISTING);

我也尝试过使用这种方法:

CopyOption[] options = new CopyOption[]{
  StandardCopyOption.REPLACE_EXISTING
}; 
Files.copy(file1, file2, options[0]);

我收到此错误:The method copy(Path, Path, CopyOption...) in the type Files is not applicable for the arguments (File, File, CopyOption)

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

您需要传递Path个对象,而不是File s:

Files.copy(file1.toPath(), file2.toPath(), StandardCopyOption.REPLACE_EXISTING);

答案 1 :(得分:1)

根据有用的错误消息判断,var array = []; function factor(num) { for (var i = 1, res = 1; i < num; array[i - 1] = i, res *= ++i); return res }; console.log( factor(3) , factor(4) , factor(5) , factor(6) , array )$connection = new Connection('host', 'user', 'pass', $port = 21, $timeout = 90, $passive = true); $connection->open(); file1个对象。

但您需要将file2个对象传递给File方法。

所以你需要使用

Path

代替。

答案 2 :(得分:0)

你不应该使用文件。而不是使用路径。

Files.copy(file1.toPath(), file2.toPath(), StandardCopyOption.REPLACE_EXISTING);

答案 3 :(得分:-1)

您是否尝试过施放StandardCopyOption?

试试:

    CopyOption co = (CopyOption) StandardCopyOption.REPLACE_EXISTING;

基于您所获得的错误,在我看来,即使Files.copy()方法使用Inputstream或Path而不是Files,您也​​在使用文件。

这可能与Copy file in Java and replace existing target重复

希望这可以帮助。祝你好运:)