批量修改文件名称

    技术2022-05-20  65

    下载一部电视剧之后,发现名称有些不好,例如有些名称为:                         dd.xxxx(dd代表数字,xxxx表示格式)            或者                        pppppddppp.xxxx(p表示一些乱七八糟的东西,广告网址等)          我想把他们的名称瞬间修改为统一的格式:                       prefix+dd.xxxx        用Java编写的程序如下: import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ReName { private String root = ""; private String prefix = ""; public ReName(String root, String prefix) { this.root = root; this.prefix = prefix; } public boolean doReName() { if (root == null) return false; File directory = new File(root); if (!directory.isDirectory()) { return false; } root = directory.getPath() + System.getProperty("file.separator"); File[] files = directory.listFiles(); String temp = ""; Pattern p = Pattern.compile("//D.*//D(//d{1,3}).*(//.//w+)"); Matcher m = null; for (File f : files) { if (!f.isFile()) continue; temp = f.getName(); // System.out.println(temp); // m = p.matcher(temp); if (m.find()) { temp = m.group(1) + m.group(2); } if (prefix == null) prefix = ""; temp = root + prefix + temp; // System.out.println(temp); // f.renameTo(new File(temp)); } return true; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入存放电视剧的目录路径:"); String tvRoot = br.readLine(); System.out.println("请输入前缀:"); String prefix = br.readLine(); ReName rn = new ReName(tvRoot, prefix); rn.doReName(); } }

    最新回复(0)