java - 使用 Java nio 文件,重命名目录,但如果已经存在,则将文件移动到现有目录

标签 java java-7

我想将目录“Dir1”重命名为“Dir2”。

但是如果“Dir2”退出,那么我想将“Dir1”文件移动到“Dir2”。 C:\Artwork\Dir1 C:\Artwork\Dir2 重命名

Files.move(path, path.resolveSibling("NewName"))); //Worked Ok

对于已经存在的目录,我尝试过

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 文件 API 复制目录(该库是开源的):

专家:

<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

应用程序接口(interface): CopyFileVisitor.copy

关于java - 使用 Java nio 文件,重命名目录,但如果已经存在,则将文件移动到现有目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15019307/

相关文章:

java - 在 http 请求之间保留文件

java - Oracle JDK11(LTS)-作为开发人员/测试人员,我可以从Oracle免费获得LTS更新吗?

java - 是否需要不基于 Spring/Tomcat 的 Java 7 云服务器框架?

java - 如何在 java 中为以下正则表达式创建模式字符串?

java - jdk6和jdk7相同的测试得到不同的结果

java - Eclipse ADT 22.6.2 仍然给出错误 "java.lang.NullPointerException"

java - JFrame 根本不工作

java - 滚动在 Internet Explorer 中不起作用

java - GSON如何支持多语言(Json和Java Object之间)?

java - 覆盖 rt.jar 中的单个类