批量删除和修改文件名前缀
程序员文章站
2022-05-04 08:54:53
批量删除和修改文件名前缀利用File类和String类的常用方法1.1 修改目标修改前修改后1.2 用到的APIjava.lang.String返回值方法Stringreplace(char oldChar, char newChar)返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar 。booleanstartsWith(String prefix)测试此字符串是否以指定的前缀开头。Stringsubstring(int b...
批量删除和修改文件名前缀
利用File类和String类的常用方法
1.1 修改目标
修改前
修改后
1.2 用到的API
java.lang.String
返回值 | 方法 |
---|---|
String |
replace(char oldChar, char newChar) 返回从替换所有出现的导致一个字符串 oldChar 在此字符串 newChar 。 |
boolean |
startsWith(String prefix) 测试此字符串是否以指定的前缀开头。 |
String |
substring(int beginIndex) 返回一个字符串,该字符串是此字符串的子字符串。 |
java.io.File
返回值 | 方法 |
---|---|
boolean |
renameTo(File dest) 重命名由此抽象路径名表示的文件。 |
File[] |
listFiles() 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。 |
String |
getParent() 返回此抽象路径名的父 null 的路径名字符串,如果此路径名未命名为父目录,则返回null。 |
String |
getName() 返回由此抽象路径名表示的文件或目录的名称。 |
1.3 思路
- 通过绝对路径新建File对象
- 通过listFiles()方法返回该文件夹内的所有文件对应的File对象
- 通过getName()方法获得原来的文件名,并通过String的方法实现增加前缀和删除前缀的方法,最后根据修改后的String联合getName()和"\\"生成新的File文件
- 写addPrefix方法,通过遍历files数组对每一个file对象用renameTo(File dest)方法重命名为加了前缀后的File对象
1.4 代码
package test;
import jdk.nashorn.internal.ir.CallNode;
import java.io.File;
public class FileTest {
public static void main(String[] args) {
File file = new File("F:\\BilibiliDown\\2020JAVA基础-深入系统的学习数据结构与算法");
System.out.println(file.getAbsolutePath());
File[] files = file.listFiles();
//加上前缀
for (File file1 : files) {
String prefix = "2020JAVA基础-深入系统的学习数据结构与算法 - ";
addPrefix("2020JAVA基础-深入系统的学习数据结构与算法 - ", file1);
}
//删除前缀
for (File file1 : files) {
String prefix = "2020JAVA基础-深入系统的学习数据结构与算法 - ";
deletePrefix(prefix, file1);
}
}
public static void addPrefix(String prefix, File file1) {
String name = file1.getName();
File file2 = new File(file1.getParent() + "\\" + prefix + name);
file1.renameTo(file2);
}
public static void deletePrefix(String prefix, File file1) {
int length = prefix.length();
String name = file1.getName();
File file2 = new File(file1.getParent() + "\\" + name.substring(length));
file1.renameTo(file2);
}
}
1.5 总结
起因是因为在potplayer中添加播放列表后,因为文件名都有一个相同的28个字符的前缀所以,导致右侧播放列表面板需要拉宽才能看到对应的章节名,所以想删除相同的前缀,学了IO以来也并没有怎么实际应用,所以试试水,同时加深下理解和记忆.
本文地址:https://blog.csdn.net/qq_34506038/article/details/107350170