批量重命名文件 - Renamer JAVA File

批量重命名文件的小工具

       Renamer是一个帮助您整理硬盘文件的小工具。这次的软件使用JAVA语言开发。

       Renamer的主要功能:
              1.按照指定的规则重命名文件,如IMG1,IMG2,IMG3;
              2.添加或删除文件的前缀后缀,如[tta.cn]pack → pack;
              3.批量修改文件扩展名,并提供一种智能修改文件扩展名的模式,通过读取文件头信息获取文件本来的扩展名,比如一个图片下下来是JPG的扩展名,但是通过读取文件头信息发现是一个gif文件,使用Renamer批量识别文件真实的扩展名,以帮助您的浏览编辑工具更好的识别文件。
              目前Renamer支持约30种文件扩展名格式,即使无法识别,也会保留文件原本的文件扩展名。

展示:

源代码:

import Renamer.GetTypeByHead;
import Renamer.RenamerUtil;

import java.io.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class Main extends RenamerUtil {
   

    static Scanner input = new Scanner(System.in);
    /**
     * 扫描到的文件列表
     */
    static List<File> fileList;
    /**
     * 修改后的文件列表
     */
    static List<File> newFileList = new LinkedList<>();
    
    public static void main(String[] args) {
   
        //获取扫描的文件夹路径
        System.out.println("欢迎使用\"批量重命名\"小工具 By.偃笙");
        System.out.println("输入0退出程序");
        System.out.print("请输入文件夹路径:");
        String dir = input.next();
        if("0".equals(dir)){
   
            System.exit(0);
        }
    
        //获取文件夹列表
        fileList = getFileList(dir);
        if (fileList.isEmpty()) {
   
            System.out.println("未搜索到文件");
            input.nextLine();
            main(args);
            return;
        }
    
        //遍历文件夹列表
        int index = 1;
        System.out.println("当前文件夹列表如下:");
        for (File element : fileList) {
   
            System.out.println(index + " & " + element.getName());
            index++;
        }
        choiceMode();
    }
    
    public static void choiceMode() {
   
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        System.out.println(">请选择一种文件重命名模式");
        System.out.println(">1.按指定的规则修改 如:IMG1.jpg IMG2.jpg IMG3.jpg");
        System.out.println(">2.添加/删除前缀后缀 如:[tt科技]工具包.zip → 工具包.zip");
        System.out.println(">3.修改文件扩展名 如 1.jpg → 1.png");
        System.out.println(">0.返回");
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        System.out.print("请输入模式ID:");
    
        //获取模式ID
        int mode = 0;
        try {
   
            mode = input.nextInt();
            if (mode < 0 || mode > 3) {
   
                throw new Exception();
            }
        } catch (Exception e) {
   
            input = new Scanner(System.in);
            System.out.println("请输入正确的数字!");
            System.out.println("输入任意内容继续. . .");
            input.next();
            choiceMode();
            return;
        }
    
        //判断输入的模式ID
        switch (mode) {
   
            case 0:
                main(null);
                break;
            case 1:
                mode1();
                break;
            case 2:
                mode2();
                break;
            case 3:
                mode3();
                break;
        }
        main(null);
    }
    
    public static void mode1() {
   
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        System.out.println(">模式1:按指定的规则修改");
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        System.out.println("星号*为标识符,替代文件的顺序ID");
        System.out.println("例:IMG* → IMG1.jpg IMG2.jpg");
        System.out.println("输入\"0\"返回");
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        System.out.print("请输入规则(请勿输入后缀名):");
    
        //获取规则
        String rule = input.next();
        if ("0".equals(rule)) {
   
            choiceMode();
            return;
        }
    
        //判断标识符位置
        int identify = rule.indexOf("*");
        if (identify == -1) {
   
            System.out.println("找不到标识符");
            System.out.println("输入任意内容继续. . .");
            input.next();
            mode1();
            return;
        }
    
        System.out.print("请输入文件顺序ID(输入1则从1开始):");
        int index = input.nextInt();
    
        //获取修改后的文件名列表
        for (
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值