我尝试将文件从一个位置复制到另一个位置,同时替换旧文件,我不断收到此错误:
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)
有什么想法吗?
答案 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重复
希望这可以帮助。祝你好运:)