如何按修改时间顺序读取目录下的文件

1 java timestamp file

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

String[] files = sourceDirectory.list();

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

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

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

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

非常感谢。

tsk*_*zzy 5

File使用 获取 s ,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();
    }
});
Run Code Online (Sandbox Code Playgroud)

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