4

根据: 如何在JDK7中重命名(不移动)文件?

我正在尝试使用 java NIO 重命名非空文件夹的文件夹名称

我的结果是创建的新目录里面没有文件,而不是删除旧目录。

我使用的代码但它不起作用:

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

我错过了什么?(我只想重命名文件夹)

4

1 回答 1

3

您可以使用java.nio.file.Files.move方法重命名目录,然后copy使用以下文件Files.walkFileTree

移动文件树可能涉及复制而不是移动目录,这可以使用复制方法和 Files.walkFileTree 实用程序方法来完成。

你可以按照java教程

import static java.nio.file.StandardCopyOption.*;

Files.move(source, target, REPLACE_EXISTING);

该方法最常与文件树递归机制一起使用。有关详细信息,请参阅遍历文件树

于 2018-08-29T11:31:22.547 回答