簡體   English   中英

使用 Java 8 查找文件的最佳方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM