在具有新I / O API的Java7中,是否有一种简便的方法可以按上次修改日期列出目录的内容?基本上,我只需要获取未修改时间最长的文件(按最后修改的升序排序,采用第一个文件名)。
并没有真正的“简便方法”,但是有可能:
List<Path> files = new ArrayList<>();
try(DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
for(Path p : stream) {
files.add(p);
}
}
Collections.sort(files, new Comparator<Path>() {
public int compare(Path o1, Path o2) {
try {
return Files.getLastModifiedTime(o1).compareTo(Files.getLastModifiedTime(o2));
} catch (IOException e) {
// handle exception
}
}
});
这将对文件排序最快,最后修改的文件最后排序。DirectoryStream
s不会遍历子目录。
问题内容: 有没有办法只选择目录中的最后一个文件(带有扩展名?) 还是我必须解析整个目录并使用检查? 问题答案: 是的,您必须通读它们。但是由于目录访问已被缓存,因此您不必担心。
问题内容: 想知道目录的上次修改日期何时更改。我修改了特定目录中的文件(通过FTP),但目录的LMD不变。应该如何运作? 问题答案: 当添加,删除或重命名文件或子目录时,目录本身上的mtime(修改时间)会更改。 修改目录中文件的内容不会更改目录本身,也不会更新文件或子目录的修改时间。如果更改目录的权限,则ctime会更改,而mtime不会。
我需要获取Azure Databricks下DBFS装载点(ADLS Gen1)中所有文件夹和文件的最后修改日期。文件夹结构如下: 使用以下Python代码获取最后修改日期: 从上面的代码中,我得到了所有包含文件的文件夹的正确修改日期。 但对于空文件夹,它会给出当前日期。不是上次修改日期。 然而,当我硬编码空文件夹的路径时,它会给出正确的修改日期: 打印(datetime.fromtimestam
我正在开发一个应用程序,它将在Dropbox上获取文件的最后修改时间和日期,也将在本地计算机上获取文件的最后修改日期(上载时间)和时间,然后在对时间和日期进行比较后,应用程序将决定是上载该文件还是从Dropbox下载该文件。现在我被这个问题困住了,我怎样才能得到最后修改的日期
问题内容: 我试图使功能超出其书面限制,我需要的不仅仅是当前支持的alpha排序。我需要对结果进行排序,以按修改日期排序。 我尝试了一些在这里找到的解决方案,以及其他来自不同网站的解决方案,但是没有一个适合我,因此我认为在这里发布是合理的。 到目前为止,我尝试过的是: 但是,这似乎对我不起作用,它仅返回3个结果,但应该返回16个结果,因为文件夹中有16张图像。 问题答案:
问题内容: 如何使用PHP获取目录内的文件名? 我找不到使用Google的相关命令,所以希望这个问题能对那些类似的问题有所帮助。 问题答案: 有很多方法。较旧的方法是但 可能是最好的方法。 还有(与一起使用)和。 以下是一些有关如何使用每个示例打印当前目录中所有文件的示例: 用法:(推荐) 用法: 和用法: 用法: 如评论中所述,这是很好的,因为我在那里使用的星号实际上可以用于对文件进行匹配,因此