2015-05-11 33 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()); 
 
    } 
 

 
}