2016-03-08 76 views
1

我想從目錄中篩選出特定類型的文件,但我得到的錯誤「的標記語法錯誤,刪除這些令牌」:的Java文件目錄(過濾器)

File dir = new File("c:/etc/etc"); 
    File[] files = dir.listFiles(new FilenameFilter() { 
     public boolean accept(File dir, String name) { 
      return name.toLowerCase().endsWith(".txt"); 
} 
}); 

我也得到了一堆其他錯誤,真的很困惑。

+1

什麼是確切的錯誤信息,你正在從哪裏來? – resueman

+0

前兩行我得到'刪除這些令牌'和'(預計在此令牌之後「接受後。 – Rupert

+0

這看起來非常好(禁止在最後兩行上錯誤地插入),我們需要更多的上下文來找出問題 – SamTebbs33

回答

0

在Java 8中,您可以使用lambda表達式,但這不會解決您的問題。我沒有看到你在這裏發佈的代碼的任何錯誤或問題。

File dir = new File("c:/etc/etc"); 
     File[] files = dir.listFiles((File dir1, String name) -> name.toLowerCase().endsWith(".txt")); 
+0

道歉我已經註釋了一些重要的代碼,這就是爲什麼導致這些錯誤的原因。但是現在我用黃色標出了'dirr'和'files',結果我運行該程序時什麼也沒有顯示出來,我需要做什麼?黃色警告gs說本地變量不使用.. – Rupert

+0

除非我們有完整的代碼來查看不知道錯誤是什麼。從錯誤它看起來像你使用變量賦值,如果循環像這樣(dirr = true) –

+0

ohh這是整個代碼來過濾出.txt文件。錯誤是由於意外地評論了主要方法。但隨着錯誤的消失,一些變量如dirr被強調爲黃色,因爲它沒有被使用。我想知道如何使用它,以便.txt文件被過濾 – Rupert