本文实例讲述了java实现文件重命名的方法。分享给大家供大家参考。具体如下:
下载的电影总是有一些存在网站名称等没用的信息 作为一个强迫症患者 一定要删除他们
package sys.file; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.io.*; public class ZReName { public static void main(String args[]) { ZReName r = new ZReName(); r.replace(); //r.changeOrder(); } public void replace (){ File dir = new File(\"G://电影//那年那兔那些事儿[原画版]\"); // 这里写上发替换的文件夹路径,注意使用双斜杠 String[] files = dir.list(); File f = null; String filename = \"\"; //String oldName = \"[电影天堂www.dygod.cn]\"; String oldName = \"\"; //名称中要替换的部分 String newName = \"\"; //名称中要替换成的样子,为空时即为删除 for (String file : files) { f = new File(dir, file); // 注意,这里一定要写成File(fl,file)如果写成File(file)是行不通的,一定要全路径 filename = f.getName(); System.out.println(filename); String S1= \"\\\\d{4}.(优酷网|搜狐视频)-\"; ZReName r = new ZReName(); boolean b = r.regex1(S1, filename); oldName = r.regex(S1, filename); if (b){ //f.renameTo(new File(fl.getAbsolutePath()+\"//\"+filename.replace(\"要替换掉的内容\",\"替换成的内容\"))); //这里可以反复使用replace替换,当然也可以使用正则表达式来替换了 // 这里可以反复使用replace替换,当然也可以使用正则表达式来替换了 f.renameTo(new File(dir.getAbsolutePath() + \"//\"+ filename.replace(oldName, newName))); //将前X位删除 //f.renameTo(new File(dir.getAbsolutePath() + \"//\"+ filename.substring(9))); } } System.exit(0); } public void changeOrder (){ File dir = new File(\"G://合并\"); // 这里写上发替换的文件夹路径,注意使用双斜杠 String[] files = dir.list(); File f = null; String filename = \"\"; //String oldName = \"[电影天堂www.dygod.cn]\"; String oldName = \"\"; //名称中要替换的部分 String newName = \"\"; //名称中要替换成的样子,为空时即为删除 for (String file : files) { f = new File(dir, file); // 注意,这里一定要写成File(fl,file)如果写成File(file)是行不通的,一定要全路径 filename = f.getName(); System.out.println(filename); String S1= \"\\\\d+\"; ZReName r = new ZReName(); boolean b = r.regex1(S1, filename); oldName = filename; newName = r.regex(S1, filename)+\" \"+filename; if (b){ //f.renameTo(new File(fl.getAbsolutePath()+\"//\"+filename.replace(\"要替换掉的内容\",\"替换成的内容\")));//这里可以反复使用replace替换,当然也可以使用正则表达式来替换了 // 这里可以反复使用replace替换,当然也可以使用正则表达式来替换了 f.renameTo(new File(dir.getAbsolutePath() + \"//\"+ filename.replace(oldName, newName))); //将前X位删除 //f.renameTo(new File(dir.getAbsolutePath() + \"//\"+ filename.substring(9))); } } System.exit(0); } //S1要查找的正则表达式,S2查找源 public String regex(String S1,String S2){ Pattern p = Pattern.compile(S1); Matcher m = p.matcher(S2); boolean result = m.find(); //System.out.println(result); String S =\"\"; if (result) { S = m.group(); System.out.println(S); } return S; } //S1要查找的正则表达式,S2查找源 public boolean regex1(String S1,String S2){ Pattern p = Pattern.compile(S1); Matcher m = p.matcher(S2); boolean result = m.find(); System.out.println(result); return result; } }
希望本文所述对大家的java程序设计有所帮助。
本文地址:https://www.stayed.cn/item/8003
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我