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; } } } }
java实现遍历文件目录,根据文件最后的修改时间排序,并将文件全路径存入List集合的更多相关文章
- C#实现对指定文件夹中文件按修改时间排序
string path = "~/Document/Introduction/团队管理制度/"; DirectoryInfo dirinfo = new Di ...
- java获得文件的最后修改时间
原文:http://www.open-open.com/code/view/1453190044980 java的File类的lastModified()方法可以返回文件的最后修改时间: String ...
- 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...
- delphi获取文件的创建/修改时间、按时间删除指定文件下的文件
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrl ...
- Win10资源管理器中的库文件夹按照修改日期排序
win7之后添加的库十分的好用,可以将下载,音乐,文档设置在我的电脑(win10叫此电脑)首页,快速进入. 我对文件夹设置了按照时间排序,这样进去就可以直接看到最近下载了什么文件.但是win10用时间 ...
- delphi 获取文件的最新修改时间 http://www.delphitop.com/html/wenjian/64.html
delphi 获取文件的最新修改时间 作者:admin 来源:未知 日期:2010/1/28 13:15:22 人气:1054 标签: QQ空间新浪微博腾讯微博腾讯朋友QQ收藏百度空间百度贴吧更多0 ...
- 删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件:BAT + VBS
代码如下: @echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除. ::本例调用了临时VBS ...
- mp4、AAC数据格式、解析文件的创建修改时间
AAC文件 资料: http://blog.csdn.net/u013427969/article/details/53091594 http://blog.chinaunix.net/uid-260 ...
- Centos-修改文件访问和修改时间-touch
touch 如果文件存在,则改变文件的访问时间和修改时间,如果不存在则创建一个空文件 相关选项 -a 更改文件访问时间为当前系统时间 -m 更改文件修改时间为当前系统时间 -c 如果文 ...
随机推荐
- IDEA 怎么统计项目代码行数
引言 IDEA 统计项目代码行数,主要是使用 Statistic 插件来统计 第一步 点击 File->Settings,如下图所示: 第二步 点击 install 安装 Statistic 插 ...
- MyBatis 各种参数传递方式
MyBatis参数传递方式 情况一:Mapper映射器接口方法参数只有一个且为基本类型 接口方法: public List<UserEntity> selectUserByAge(int ...
- 惊奇发现KEIL也可以C++编译了
在Github上面浏览下载的一个工程,可以用KEIL打开,但是我竟然找不到mian函数.找了一圈发现是用到了面向对象的编程方法,那就必须支持C++,他怎么实现的呢? 看配置工程:明显的一个不一样 -- ...
- Go语言标准库log介绍
Go语言标准库log介绍 无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯. log Go语言内置的log包实现了简单的日志服 ...
- js发送请求给服务端
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python记录日志
import logging from logging import handlers# 日志记录 class Logger(object): level_relations = { 'debug': ...
- RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece
问题描述:将备份集从一台主机拷贝到另外一台主机后,在通过RMAN将数据库恢复到同类机异机的时候,restore spfile一直报RMAN-06172: no AUTOBACKUP found or ...
- 执行Selenium后在temp目录下产生临时文件scoped_dir chrome_BITS
环境:Windows selenium 3.141.0 Python 3.8.10 Chrome 90.0.4430.212 ChromeDriver 90.0.4430.24 最近发现执行完Sele ...
- NVIDIA 自动驾驶软件平台
NVIDIA 自动驾驶软件平台 Software Developers using DRIVE AGX Developer Kits may choose between: DRIVE OS 5.2. ...
- Python集合:set
集合 集合的描述 set是一个无序不重复的序列,可以用{}或者 set() 函数创建集合,它存放不可变类型(如字符串.数字.元组)数据. 注意:创建一个空集合必须使用set()方法,因为{}是用来生成 ...