如何使用 JAVA 在目錄中獲取最后創建(不是最后修改)的檔案夾名稱/路徑?我找不到與 JAVA 相關的答案,因此在此處發布。
uj5u.com熱心網友回復:
它需要幾個步驟,例如:
- 列出目錄的所有元素
- 過濾目錄
- 獲取檔案創建時間
- 將路徑 時間組合保存在串列中
- 找到關于時間的串列的最小值
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;
import java.util.ArrayList;
import java.util.List;
public class LastCreatedDir {
record PathAndTime(Path path, FileTime time) { }
public static void main(String[] args) throws Exception {
Path path = Paths.get("..\\");
List<PathAndTime> list = new ArrayList<>();
// 1. -------------------------------------
try (var files = Files.list(path)) {
files.forEach(p -> {
// 2. -----------------------------
if (Files.isDirectory(p)) {
try {
// 3. -----------------------
BasicFileAttributes attr = Files.readAttributes(p,
BasicFileAttributes.class);
FileTime fileTime = attr.creationTime();
// 4. -----------------------
list.add(new PathAndTime(p, fileTime));
} catch (IOException ex) {
ex.printStackTrace();
}
}
});
}
// 5. -------------------------------------
var result = list.stream().min((a, b) -> {
return b.time.compareTo(a.time);
});
result.ifPresentOrElse(entry -> {
System.out.println(entry.path " @ " entry.time);
}, () -> {
System.out.println("No directories found");
});
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/490767.html
標籤:爪哇
上一篇:ArrayListadd()方法回傳空的或空白的firebasejava
下一篇:錯誤:com.microsoft.sqlserver.jdbc.SQLServerException:索引2超出范圍
