黑马程序员技术交流社区

标题: 关于文件过滤器 [打印本页]

作者: ozt6719393    时间: 2013-5-27 14:04
标题: 关于文件过滤器
求写一个含匿名内部类的文件过滤器,过滤指定目录下(含子目录)的所有.java结尾的文件
作者: 花开花落总相似    时间: 2013-5-27 21:32
本帖最后由 花开花落总相似 于 2013-5-27 21:34 编辑

  1. import java.io.*;

  2. class FileterDemo{   
  3.         
  4.         void diaoMethod(File f){  //掉内部类的方法
  5.                 Fileter ft = new Fileter();
  6.                 ft.FileterMethod(f);
  7.         }
  8.         class Fileter{                //内部类
  9.                
  10.                 public void FileterMethod(File f){  //方法 这就没什么好看的了
  11.                         File [] fls = f.listFiles();
  12.                         for(File fl : fls){
  13.                                 if(fl.isDirectory()){
  14.                                         FileterMethod(fl);
  15.                                 }
  16.                                 else{
  17.                                         String s = fl.getName();
  18.                                         if(s.endsWith(".java")){
  19.                                                 System.out.println(s);
  20.                                         }        
  21.                                 }
  22.                         }
  23.                 }
  24.         }

  25.         public static void main(String[]args){
  26.                 FileterDemo fd = new FileterDemo();
  27.                 File f = new File("F:\\Program Files\\TestJava\\Test");        
  28.                 fd.diaoMethod(f);
  29.         }
  30. }
复制代码

作者: Super_Class    时间: 2013-5-28 08:50
本帖最后由 Super_Class 于 2013-5-28 08:51 编辑
  1. File f = new File("c:\\");

  2. File []files = f.list(new FilenameFilter(){


  3.         @Override
  4.         public boolean accept(File dir, String name) {
  5.                 // TODO Auto-generated method stub
  6.                 return name.endsWith(".java");
  7.         }
  8. });
复制代码

作者: 袁梦希    时间: 2013-5-30 10:13
楼主你好,如果帖子没有问题了,那么把帖子对应的类型改为“已解决”,自己帖子下面的编辑就可以了,如果不会改帖看我的个性签名。
作者: 廖志强    时间: 2013-5-31 23:10
本帖最后由 廖志强 于 2013-5-31 23:37 编辑

public class Test1 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                File file = new File("f:\\");
                String[] str = file.list(new FilenameFilter() {  //内部类
                        
                        @Override
                        public boolean accept(File dir, String name) {
                                // TODO Auto-generated method stub
                                return new File(dir,name).isFile()&&name.endsWith(".java"); //判断是不是文件并是于.java结尾
                        }
                });
                for(String s :str){ //遍历String[] 数组
                        System.out.println(s);
                }
               
                  }
完整代码,很给力
作者: Sofoul    时间: 2013-6-1 13:59
import java.io.*;
class For
{
        public static void main(String[] args)
        {
                //指定目录
                File file=new File("d:\\");
                //匿名内部类FilenameFilter过滤符合条件的文件
                String[] str=file.list(new FilenameFilter(){
                        public boolean accept(File dir,String name)
                        {
                                return new File(dir ,name).isFile()&&name.endsWith(".java");
                        }
               
                });
               
作者: 殇_心。    时间: 2013-6-1 18:05
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2