我有一个关于读取目录文件的问题。第一的,
String[] files = sourceDirectory.list();
我收集了一些数据痕迹并将它们放在一个目录中。我希望按照创建时间的顺序读取文件,因为我想保留数据跟踪的顺序。
在File.list()文档中,它不能保证顺序的一致性。如何按顺序读取文件?
第二个问题是:我想根据消息名称计算两条消息之间的间隔时间,因为消息名称具有时间戳信息。例如,
trace2011_Aug_3__0_0_1和trace2011_Aug_3__0_0_5。如何将字符串值转换为 Date 对象并计算它们之间的差异?
非常感谢。
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(),然后将生成的子字符串转换为日期。之后,获得差异应该很容易。