JAVA 使文件件里面的所有文件重命名新文件名(求源代码)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 使文件件里面的所有文件重命名新文件名(求源代码)相关的知识,希望对你有一定的参考价值。

具体描述下: 比如 temp文件夹里面有A文件夹、A文件夹里面有B文件夹,B文件夹里面有个文件C.txt(扩展名不一定),要求C.txt 文件重命名为“temp-A-B-C.txt"(就是把他的父文件名加到里面重新组合新的文件名,以'-'分割),是否可以获取文件的路径把里面的\ 替换为-???

执行后:

参考技术A File file = new File("D:\\temp\\A\\B\\");
for(File fl: file.listFiles())
String flName = fl.getPath().substring(3).replace("\\", "-");
System.out.println(flName);

File newFl = new File(fl.getParent() + File.separator + flName);
System.out.println(newFl.getPath());
fl.renameTo(newFl);
追问

我只是做了个样例,真正的文件夹名称并不是这样的啊,

追答

知道是样例,路径你可以随便改。

追问

这个固定的 temp/A/B/C.txt  可以重命名

但是我的temp下面有好多文件夹(样例中三个)的,不止一个A文件夹,

所以这个File file = new File("D:\\\\temp\\\\A\\\\B\\\\");  就不行了啊,要如何写成动态的呢?

本回答被提问者采纳

重命名类文件不再提示重命名所有匹配项

【中文标题】重命名类文件不再提示重命名所有匹配项【英文标题】:Renaming a class file no longer prompts to rename all occurrences 【发布时间】:2013-11-21 09:58:43 【问题描述】:

以前,当我在 VS2012 中重命名一个类文件(可能还有其他文件)时,它提示我重命名所有内容,然后在将类重命名为新文件名后进行了很好的重构。它突然停止这样做。有谁知道为什么它停止了,没有我更改配置或任何东西,或者在什么情况下它不起作用?

【问题讨论】:

Visual Studio "rename" refactoring的可能重复 我不再收到这个提示,有谁知道设置在哪里,我可以再次收到这个提示吗?答案不在上面评论的主题中 我确保在菜单:工具/选项展开项目和解决方案下选中了“重命名文件时提示符号重命名”复选框。 【参考方案1】:

尝试更改类名,而不是文件名。因为 1 个文件可以包含多个类。 (不知道这是否适用于 VS,但它在 Java 的 Eclipse 和 IntelliJ 中是这样工作的。)

【讨论】:

如果我只更改类名的大小写,我不会收到重命名文件以匹配类的提示,我必须将其作为另一个单独的操作来执行。我正在处理 245 个课程。

以上是关于JAVA 使文件件里面的所有文件重命名新文件名(求源代码)的主要内容,如果未能解决你的问题,请参考以下文章

如何让文件自动重命名?

用python使文件名按照一定规则批量重命名

java如何重命名所有包名

重命名类文件不再提示重命名所有匹配项

SVN 重命名文件夹

DOS按规则批量重命名所有(子)目录下文件