[英]What is the best way to find files using Java 8?
我想從目錄中讀取文件
這一切都以(例如:就像我們有一個以名稱開頭的列表一樣)
以“abcd_”開頭
以“Proto_”開頭
以“foo_”開頭
以“2020”開頭
以。。開始....
另一個條件是以“.txt”結尾
現在假設在目標目錄中,我們有數千個文件。
那么讓所有文件與所述條件匹配的有效方法是什么。
**注意:Startswith 是一個動態列表和目標目錄,每天都在加載大量文件,但在 MAX 時會有一個且只有一個對應的文件匹配,即使文件數量在增加 **
我寫了一個原型
Map<String,String> getFilesMap(Path path)
{
Map<String, String> fatchedFileMap = new HashMap<>();
List<String> fileNamePrefixes = getFileNamePrefixes();
//Using File Filter implementation
path.toFile().listFiles( (dir, fileName) -> {
for (String fileNamePrefix : fileNamePrefixes) {
if (fileName.endsWith (".txt") && fileName.startsWith(fileNamePrefix)))
{
fatchedFileMap.put(fileNamePrefix, fileName);
return true;//does nothing
}
}
return false;//does nothing
});
return fatchedFileMap;
}
這給了我所有名稱與前綴匹配的文件(提供的列表)
但是如果有的話,正在尋找更多更好的方法。
我不想介紹任何第三方庫,但仍然歡迎所有解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.