[英]How to move all files from source directory to destination directory, keeping existing files in destination directory, using Java NIO?
[英]Using Java nio Files,Rename Directory but if already exists move the files to existing Directory
我想将Dir“Dir1”重命名为“Dir2”。
但如果“Dir2”退出,那么我想将“Dir1”文件移动到“Dir2”。 C:\\ Artwork \\ Dir1 C:\\ Artwork \\ Dir2 For Rename
Files.move(path, path.resolveSibling("NewName"))); //Worked Ok
对于Dir已经在场,我试过了
Path source = Paths.get("C:\\Artwork\\Dir1");
Path newDir = Paths.get("C:\\Artwork\\Dir2");
Files.move(source, newDir,StandardCopyOption.ATOMIC_MOVE); //Throwed AccessDeniedException
Files.move(source, newDir,StandardCopyOption.REPLACE_EXISTING); //Throwed DirectoryNotEmptyException
我已经编写了一些实用程序方法来使用NIO File API复制目录(该库是开源的):
Maven的:
<dependency>
<groupId>org.softsmithy.lib</groupId>
<artifactId>softsmithy-lib-core</artifactId>
<version>0.3</version>
</dependency>
教程:
http://softsmithy.sourceforge.net/lib/current/docs/tutorial/nio-file/index.html
API: CopyFileVisitor.copy
如果Dir2不存在则使用Dir2.mkdir();
创建目录。 如果它已经是exixt那么moveDirectory(File Dir1, File Dir2);
我们可以移动整个目录
从Java 1.7开始,java.nio.file.Files提供了处理文件和目录的操作。 特别是move,copy和walkFileTree函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.