2015-05-11 64 views
0

任務:查找文件

編寫接受兩個文件名作爲參數的Java應用程序:目錄名和文件名查找包含在目錄目錄名稱,其名稱中結束「的所有非目錄文件.java「

我試過使用這段代碼,但是怎樣才能打印出以」.java「結尾的文件呢? 這是我第一次使用這些東西,我不知道如何使用它們。

import java.io.File; 
import java.io.FilenameFilter; 

public class Filter { 

    public static File[] finder(String dirName){ 
     File dir = new File(dirName); 

     return dir.listFiles(new FilenameFilter() { 
       public boolean accept(File dir, String filename) 
         { return filename.endsWith(".txt"); } 
     }); 

    } 

    public static void main(String[] args){ 
     String dirName = "src"; 
     System.out.println(finder(dirName)); 

    } 

} 
+1

你似乎是在正確的軌道上。只要改變'{return filename.endsWith(「。txt」); }'返回'{return filename.endsWith(「。java」); ''你應該沒問題。 – GiantTree

回答

2
return !dir.isDirectory() && filename.endsWith(".java"); 
0

感謝您的幫助。現在它工作正常。

import java.io.*; 
 

 
public class Filter { 
 

 
    public static File[] finder(String dirName) { 
 
    File dir = new File(dirName); 
 

 
    return dir.listFiles(new FilenameFilter() { 
 
     public boolean accept(File dir, String filename) { 
 
     return filename.endsWith(".java"); 
 
     } 
 
    }); 
 
    } 
 

 
    public static void main(String[] args) { 
 
    String dirName = "src"; 
 
    File[] files = finder(dirName); 
 
    for (File i: files) 
 
     System.out.println(i.getName()); 
 
    } 
 

 
}