java - 重命名目录和一些包含文件/子目录

标签 java file-io file-rename

我最近正在制作一些 Java 软件来查找文件夹中的一些文件/目录,如果它们的名称包含某些文本,它们将被重命名为其他名称。我使用 Files.walkFileTree 遍历目录,如果找到一个匹配的文件/目录,它将使用 File.renameTo 方法重命名。

但是这里我遇到了一个问题,如果一个子目录被重命名了,这个子目录下的所有重命名操作都会失败。

我认为这是因为该子目录已被标记为打开,因此无法对其文件/文件夹进行任何更改。有解决办法吗?

最佳答案

如果首先确定所有名称,然后在重命名目录包含的文件之前重命名目录,就会发生这种情况。

一些解决方案是首先重命名文件深度(仅在重命名文件后重命名目录)或仅构建文件列表。

关于java - 重命名目录和一些包含文件/子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8475866/

相关文章:

java - 如何通过属性查询内存对象?

java - 有什么方法可以通过 common-vfs2 为 ftp 或 cifs 支持 IPV6

java - 当我的文件确实存在时,出现文件未找到异常

c - 如何在 C 编程中扫描文件中的某个单词,然后在另一个文件中打印包含该单词的行?

windows - 批量删除文件名中特定字符前后的文本

android - 如何以编程方式控制/保存使用android相机拍摄的图像?

java - Concat Publishers 与 Reracor 但处理元素不同

java - 其他方法的一维阵列频率计数器

python - 如何获取运算符模块的 sorted 函数来存储数据,以便我可以追加文件?

regex - 将文件名中除扩展名之外的所有 '.' 重命名为 '_'