zoukankan      html  css  js  c++  java
  • java实现遍历文件目录,根据文件最后的修改时间排序,并将文件全路径存入List集合

    package com.ultra.aliyun.control.main; import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import org.apache.log4j.Logger; public class FileTest {         // 打印日志     private static Logger logger = Logger.getLogger(FileTest.class);          public static void main(String[] args) {                  // 定义list,用于存储数据文件的全路径         List<String> filelist = new ArrayList<String>();         String dataFileTempDir = "D:\test";         // 得到返回文件全路径的list集合         List<String> list = getFiles(dataFileTempDir, filelist);         String dataFileTempPath = null;         for (int i = 0; i < list.size(); i++) {             // 数据文件在临时区的路径             dataFileTempPath = list.get(i);             System.out.println(i+"dataFileTempPath:"+dataFileTempPath);         }                }          /**      * 通过递归得到某一路径下所有的文件的全路径,分装到list里面      *       * @param filePath      * @param filelist      * @return      */     public static List<String> getFiles(String filePath, List<String> filelist) {         File root = new File(filePath);         if (!root.exists()) {             logger.info(filePath + " not exist!");         } else {             File[] files = root.listFiles();             Arrays.sort(files, new FileTest.CompratorByLastModified());               for (File file : files) {                 if (file.isDirectory()) {                     getFiles(file.getAbsolutePath(), filelist);                 } else {                     //logger.info("目录:" + filePath + "文件全路径:" + file.getAbsolutePath());                     filelist.add(file.getAbsolutePath());                 }             }         }         return filelist;     }           //根据文件修改时间进行比较的内部类     static class CompratorByLastModified implements Comparator<File> {                    public int compare(File f1, File f2) {               long diff = f1.lastModified() - f2.lastModified();               if (diff > 0) {                      return 1;               } else if (diff == 0) {                      return 0;               } else {                     return -1;               }           }       }   }

  • 相关阅读:
    js一次性删除一个数组中多个元素
    js防抖,节流
    js 生成一个永不重复的ID
    mavon-editor 使用方法以及回显
    导出---后台返回二进制流文件数据,前端转换格式进行下载
    vue 监控enter键触发
    上传视频到阿里云
    前端图片压缩
    向后台传输表情时,手机自带输入法emoji表情的输入,提交及显示——前端解决方案
    vue 之this.$router.push、replace、go的区别
  • 原文地址:https://www.cnblogs.com/dauber/p/9466518.html
Copyright © 2011-2022 走看看