使用Java NIO重命名非空目录问题
根据: 我正在尝试用JavaNIO重命名非空文件夹的文件夹名 我的结果是,创建的新目录中没有文件,并且没有删除旧目录 我使用的代码不起作用:使用Java NIO重命名非空目录问题,java,file,java-8,file-move,Java,File,Java 8,File Move,根据: 我正在尝试用JavaNIO重命名非空文件夹的文件夹名 我的结果是,创建的新目录中没有文件,并且没有删除旧目录 我使用的代码不起作用: try (FileSystem fs = FileSystems.newFileSystem(uri, env)) { Path oldPath = fs.getPath("/some/directory2"); Files.move(oldPath, oldPath.resolve("/some/directory_repl
try (FileSystem fs = FileSystems.newFileSystem(uri, env)) {
Path oldPath = fs.getPath("/some/directory2");
Files.move(oldPath, oldPath.resolve("/some/directory_replaced2_2"), StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
e.printStackTrace();
}
我错过了什么?(我只想重命名文件夹)您可以使用方法重命名目录,然后使用
文件复制文件。walkFileTree
:
移动文件树可能涉及复制而不是移动目录,这可以使用copy方法和Files.walkFileTree实用程序方法来完成
您可以按照以下步骤操作:
该方法最常用于文件树递归机制。有关详细信息,请参阅
这很有趣,如果我只做Path oldPath=Path.get(“/Users/me/Desktop/Folder”);文件.move(oldPath,oldPath.resolve(“/Users/me/Desktop/Folder2”)、StandardCopyOption.REPLACE_EXISTING)代码>这很有效,只需添加内部/Users/me/Desktop/Folder,其他文件…没错,该文件夹不是空的,它有文件和带有文件的子文件夹。如何初始化文件系统uri,FileSystems.newFileSystem(uri,env)?再次查看我的示例。我不初始化它,因为我不需要@user7294900,你能推荐一个例子吗?@VitalyT在java教程中添加了一个例子
import static java.nio.file.StandardCopyOption.*;
Files.move(source, target, REPLACE_EXISTING);