软件编程
位置:首页>> 软件编程>> java编程>> java实现文件重命名的方法

java实现文件重命名的方法

作者:zzt0605  发布时间:2022-11-06 05:42:25 

标签:java,文件,重命名

本文实例讲述了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程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com