我正在尝试复制一个java.nio.file文件,文件如下:
Files.copy(cfgFilePath, strTarget, StandardCopyOption.REPLACE_EXISTING);
问题是Eclipse说“类型Files中的方法copy(Path,Path,CopyOption...)不适用于参数(File,String,StandardCopyOption)”
我在Win7 x64上使用Eclipse和Java 7。我的项目设置为使用Java 1.6兼容性。
是否有解决方案,或者我是否必须创建这样的东西作为解决方案:
File temp = new File(target);
if(temp.exists())
temp.delete();
谢谢。
5条答案
按热度按时间pbwdgjma1#
您需要传递
Path
参数,如错误消息所述:这假设您的
strTarget
是有效路径。t0ybt7op2#
作为对@assylias回答的补充:
如果您使用Java 7,请完全删除
File
。你想要的是Path
。要获得与文件系统上的路径匹配的
Path
对象,您可以这样做:很快就习惯了。请注意,如果您仍然使用需要
File
的API,Path
有一个.toFile()
方法。请注意,如果你遇到了一个返回
File
对象的API,你总是可以这样做:但是在你的代码中,使用
Path
。系统地毫不犹豫。EDIT使用NIO将一个文件复制到另一个1.6版本的文件中,可以这样做;请注意,
Closer
类的灵感来自Guava:cbjzeqam3#
mtb9vblg4#
strTarget是一个“String”对象,而不是“Path”对象
ee7vknir5#
你的语句Files.copy(path,Stringor address,StandardCopyOption)是这样的,当你给出一个String,你必须设置你想要保存文件的路径。So simple使用下面的语句:-
copy(path,Paths.get(String or address),StandardCopyOption)通过使用Paths.get将String转换为您必须保存文件的文件位置或路径源路径。