java - 如何按修改时间顺序读取目录文件

标签 java file timestamp

我有一个关于读取目录文件的问题。首先,

String[] files = sourceDirectory.list();

我收集了一些数据痕迹,并将它们放在一个目录中。我希望按照创建时间的顺序读取文件,因为我想保持数据跟踪的顺序。

File.list()文档中,不能保证顺序的一致性。如何按顺序读取文件?

第二个问题是:我想从消息名称计算两条消息之间的间隔时间,因为消息名称有时间戳信息。例如,

trace2011_Aug_3__0_0_1trace2011_Aug_3__0_0_5。如何将字符串值转换为 Date 对象并计算它们之间的差异?

非常感谢。

最佳答案

获取 File使用 listFiles()然后使用 File.lastModified() 按最后修改时间对它们进行排序.

File[] files = sourceDirectory.listFiles();

Arrays.sort( files, new Comparator<File>() {
    public int compare( File a, File b ) {
        return a.lastModified() - b.lastModified();
    }
});

要转换包含日期的文件名,请使用 String.substring() 提取日期部分然后将生成的子字符串转换为日期。之后,获得差异应该很容易。

关于java - 如何按修改时间顺序读取目录文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999532/

相关文章:

java - 如何使用 FragmentManager 引用 ViewPager 中的 fragment ?

java - 如何反序列化对象?

Bash 脚本日志文件轮换

php - 使用 PHPmailer 将表单附件另存为 .tmp 文件

ios - 字符串到 NSDate Swift2

php - 在 mysql 中插入日期/时间戳的最佳实践

java - 在 Apache Phoenix 中显示正确的 HBase 日期类型时出现问题

java - 运算符不存在 : integer = character varying

java - Hadoop中的KeyValueTextInputFormat.class异常

linux - 从汇编文件中读取