java文件的过滤器

     File对象中的遍历文件的方法总的来说主要是返回值的区别,有一个返回String字符串的list()方法,还有一个返回File对象的数组的listFile()方法。要不就是两中方法带参数的方法,可以对遍历指定类型的文件,比如.mp3的文件.......对子文件或者子路径进行筛选,所以还是非常有用的。

 返回String的数组

public String[] list()

public String[] list(FilenameFilter filter)

  返回File的数组

public File[] listFile()

public File[] listFile(FilenameFilter filter)
这里的FilenameFilter是public interface FilenameFilter实现此接口的类实例可用于过滤器文件名。这里实现了accept(File dir, String name)
的方法,他的两个参数dir - 被找到的文件所在的目录。//也就是File对象的路径。
                            name - 文件的名称。//也就是File对象路径下的所有文件的名称。
该方法对指定的File子目录子文件夹进行迭代。如果该方法返回true则list会列出该子目录或者子文件夹。

public class FileFileTerTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File file=new File("E://java的jdk//lib");
        String[] fileName=file.list(new Fileter());
        for (String string : fileName) {
            System.out.println(string+"  ");
        }
    }

}
 
 /**
  * 实现FilenameFileter的接口,实现进行对文件过滤的方法
  * 如果方法返回true则list就会列出该子文件或者子目录。
  * @author 康宸
  *
  */
   class Fileter implements FilenameFilter {
       

    @Override
    //name是File中的所有文件或者路径的名称,一级的,而dir是File对象的绝对路径。
    public boolean accept(File dir, String name) {
        // TODO Auto-generated method stub
        return name.endsWith(".jar") || new File(dir+"//"+name).isDirectory();
    }
   }

 

posted @ 2015-09-13 22:22  独钓寒江雪kq  阅读(4431)  评论(1编辑  收藏  举报