zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    django URL路由基础
    Django2.0 URL配置
    【转】MSMQ 微软消息队列 简单 示例
    Equeue初识
    有关C#标签Attribute的熟悉
    【原创】C#模拟Post请求,正文为json数据的代码参考
    2016年5月11日摘自知乎的一些Redis大概了解
    【原创】网站抓包HttpWebRequest不返回Javascript生成的Cookie的解决办法
    【原创】Silverlight客户端发起WebRequest请求分析
    【原创】记一次HttpWebRequest中国移动查账单爬虫的攻克历程
  • 原文地址:https://www.cnblogs.com/heyang78/p/11770959.html
Copyright © 2011-2022 走看看