• [java]借助java.io.File类,完成文件批量改名


    列出某目录下的所有文件,将文件改名,借助java.io.File一个类就可以完成。大家可以发现,代码中的具体方法都是File一个类的。

    另外要注意的是,File的全路径名,路径是一致的,父路径其实是文件所在的目录名,名称则是单独的文件名,具体如下:

    File.getAbsolutePath());// 全路径文件名
    
    File.getPath());// 全路径文件名,和getAbsolutePath一致
    
    File.getParent());// 单纯路径
    
    File.getName());// 单纯文件名

    这个在刚接触时容易混淆,需要小心。

    源码:

    package com.hy.expired;
    
    import java.io.File;
    
    import org.apache.log4j.Logger;
    
    /**
     * 将folder指定目录下的JPG文件批量改名
     * @author horn1
     *
     */
    public class BatchRenamer {
        private static Logger log = Logger.getLogger(BatchRenamer.class);
        
        public static void main(String[] args) {
            addPrefix2EveryFile();
        }
        
        /**
         * 将全部jpg文件按数字改名
         */
        private static void renameToNumber() {
            File folder = new File("D:\temp");
            File[] files = folder.listFiles();
            for (int i = 0; i < files.length; i++) {
                if (files[i].isFile() && files[i].getName().endsWith(".jpg")) {
                    String oldFilename=files[i].getAbsolutePath();
                    String newFileName=files[i].getParent()+File.separator+""+i+".jpg";
    
                    files[i].renameTo(new File(newFileName));
                    log.info("文件已从原名:'"+oldFilename+"' 修改成了新名:'"+newFileName+"'.");
                }
            }
        }
    执行效果:
    /** * 给每个文件名加上前缀 */ private static void addPrefix2EveryFile() { File folder = new File("D:\temp"); File[] files = folder.listFiles(); for (int i = 0; i < files.length; i++) { if (files[i].isFile() && files[i].getName().endsWith(".jpg")) { String oldFilename=files[i].getAbsolutePath(); String newFileName=files[i].getParent()+File.separator+"冬月枫"+files[i].getName(); files[i].renameTo(new File(newFileName)); log.info("文件已从原名:'"+oldFilename+"' 修改成了新名:'"+newFileName+"'."); } } }

    执行效果:
    }

    --END-- 2019年11月3日09:40:04

  • 相关阅读:
    vue 回到顶部效果实现
    C# rabbitmq 安装步骤以及使用方法
    ​Everspin MRAM常见问题解答
    带有ECC的异步SRAM存储器适用于各种应用
    ​MCU是控制电子产品的大脑
    全球MCU市场供需失衡情况愈发严重
    如何选择非易失性SRAM
    SRAM VS DRAM
    SoC上的内存
    EEPROM和FLASH在大多数应用场合中无法替代SRAM
  • 原文地址:https://www.cnblogs.com/heyang78/p/11770959.html
Copyright © 2020-2023  润新知