A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ozt6719393 中级黑马   /  2013-5-27 14:04  /  2304 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求写一个含匿名内部类的文件过滤器,过滤指定目录下(含子目录)的所有.java结尾的文件

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

6 个回复

倒序浏览
本帖最后由 花开花落总相似 于 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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 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. });
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
楼主你好,如果帖子没有问题了,那么把帖子对应的类型改为“已解决”,自己帖子下面的编辑就可以了,如果不会改帖看我的个性签名。
回复 使用道具 举报
本帖最后由 廖志强 于 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);
                }
               
                  }
完整代码,很给力

评分

参与人数 1黑马币 +1 收起 理由
Sword + 1 代码缺少注释

查看全部评分

回复 使用道具 举报
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");
                        }
               
                });
               
回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马