Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java NIO重命名非空目录问题_Java_File_Java 8_File Move - Fatal编程技术网

使用Java NIO重命名非空目录问题

使用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

根据:

我正在尝试用JavaNIO重命名非空文件夹的文件夹名

我的结果是,创建的新目录中没有文件,并且没有删除旧目录

我使用的代码不起作用:

  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);