java 遍历目录修改文件名及修改文件最后修改时间

这个Java程序演示了如何遍历指定目录,修改文件的最后修改时间,并将文件名序列化地更改为新的名称。通过递归方法访问每个子目录,对每个文件执行`setLastModified()`来更新时间戳,然后使用序列号重命名文件。

import java.io.File;

public class Main {
    static int j=1;//为了修改文件名时进行序列化
    public static void main(String[] argv) throws Exception {
        System.out.println("遍历目录");
     

       File dir = new File("D:/改时间");  //要遍历的目录
        visitAllDirsAndFiles(dir);
    }

//用递归法遍历目录
    public static void visitAllDirsAndFiles(File dir) {

      //修改文件最后修改时间
        File f=new File(dir.toString());
       f.setLastModified(System.currentTimeMillis());
        
        //如果dir是目录

        if (dir.isDirectory()) {

        //获得子目录名
            String[] children = dir.list();
            for (int i = 0; i < children.length; i++) {

      //递归子目录

                visitAllDirsAndFiles(new File(dir,children[i]));
   
            }
        }else{

          //如果dir是文件而不是目录

       /*本实例无用代码

            //获取文件名
            String fname=dir.getName();

          //去除文件名后缀
            String fgetName=fname.substring(0,fname.lastIndexOf("."));
            */
            //获取dir父目录路径
            String fParent=dir.getParentFile().toString();
            
            //打开要改名的文件
            File fo=new File(dir.toString());

           //新建更改后的文件(自定义命名)
            File fn=new File(fParent+"\\"+"需要改的名字"+j+".doc");

           //更改文件名
            fo.renameTo(fn);

        //序列改名
            j++;
            
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值