我有一个关于读取目录文件的问题。首先,
String[] files = sourceDirectory.list();
我收集了一些数据痕迹,并将它们放在一个目录中。我希望按照创建时间的顺序读取文件,因为我想保持数据跟踪的顺序。
在File.list()
文档中,不能保证顺序的一致性。如何按顺序读取文件?
第二个问题是:我想从消息名称计算两条消息之间的间隔时间,因为消息名称有时间戳信息。例如,
trace2011_Aug_3__0_0_1
和 trace2011_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/