一个Java写的批量重命名文件小程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Java写的批量重命名文件小程序相关的知识,希望对你有一定的参考价值。
今天学了一下java的File操作,然后乘着兴趣,写了一个可以批量处理文件命名的小程序,小程序还有一些不完美的地方,但胜在有趣。比如可以快捷更改你不想让别人看到的文件之类的...限个人使用,造成数据丢失后果自负哟。
import java.io.File; import java.sql.Date; import java.util.Scanner; public class RenameTool { boolean useDefaultName = false; boolean useDefaultSuffix = false; Scanner sc = new Scanner(System.in); // 重命名方法 private void reName() { String filePath=getPath(); String diyName=getDiyName(); String setDiySuffix = setDiySuffix(); String suffix=""; File file=new File(filePath); File[] filesList = file.listFiles(); //判断要DIY的名字是否为空,空即默认以修改时间命名 if (diyName==null) { useDefaultName=true; } if (useDefaultName) {//以修改时间格式命名 //得到最后一次修改时间 for (int i = 0; i < filesList.length; i++) { long lastModified = filesList[i].lastModified(); Date date=new Date(lastModified); String dateName=date.toString(); if (useDefaultSuffix){ //得到每个文件的后缀名 suffix=getSuffix(filesList[i]); }else{ suffix=setDiySuffix; } //文件名:路径+\\+名+后缀,注意文件路径后面还有斜杠 String newFileName=filePath+"\\\\"+dateName+"-"+(i+1)+suffix; File newFile=new File(newFileName); filesList[i].renameTo(newFile); System.out.print(filesList[i].getName()+"已修改为:"); System.out.println(newFileName); } }else { //以自定义格式命名 for (int j = 0; j < filesList.length; j++) { if (useDefaultSuffix){ //得到每个文件的后缀名 suffix=getSuffix(filesList[j]); }else{ suffix=setDiySuffix; } String newFileName=filePath+"\\\\"+diyName+"-"+(j+1)+suffix; File newFile=new File(newFileName); System.out.print(filesList[j].getName()+"已修改为:"); filesList[j].renameTo(newFile); System.out.println(newFileName); } } } //得到文件路径 private String getPath() { // java中有转移字符,如需输入双斜杠则输入四斜杠 System.out.println("请输入你要批量修改文件的路径,格式:C:\\\\XXX\\\\XX"); String path = sc.next(); System.out.println(path); // sc.close(); return path; } //自定义文件名,可以默认选择以修改时间为名 private String getDiyName() { System.out.println("请输入要修改的新文件名格式(如想以时间命名则输入Y/y): "); String newName = sc.next(); if (newName.equals("y") || newName.equals("Y")) { return null; } return newName; } //得到后缀名方法 private String getSuffix(File file) { String fileName = file.getName(); int length = fileName.length(); // 用最右边的"."来查找后缀名 int pointIndex = fileName.lastIndexOf("."); String suffix = fileName.substring(pointIndex, length); return suffix; } //如不想用以前的后缀名,可以自由更改 private String setDiySuffix() { System.out.println("是否统一修改文件后缀名?确定请输入格式(),否则请输入N/n :"); String input = sc.next(); sc.close(); if (input.equals("n") || input.equals("N")) { useDefaultSuffix = true; return null; } else { useDefaultSuffix = false; input="."+input; return input; } } // 提供静态方法 public static void begin() { RenameTool t = new RenameTool(); t.reName(); } //主函数 public static void main(String[] args) { RenameTool t = new RenameTool(); t.reName(); } }
如果有时间,自己再写一个清理垃圾文件的小程序~~或者有些文件不能直接删除的,用来强力删除。
以上是关于一个Java写的批量重命名文件小程序的主要内容,如果未能解决你的问题,请参考以下文章