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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩秀山 中级黑马   /  2013-5-21 00:43  /  1781 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

IO过滤器是什么??他的原理是什么?怎么实现????

评分

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

查看全部评分

7 个回复

倒序浏览
本帖最后由 石贤芝 于 2013-5-21 19:14 编辑

用流技术在遍历一个目录下特定格式的文件时,可以用过滤器来实现。过滤器,顾名思义,就是用来过滤某一特定格式的文件的。

下面是一个小小的应用:

public static void listDemo() {
          File dir = new File("c:\\");  //选定c盘目录作为文件对象
          String[] names = dir.list(new SuffixFilter(".txt"));  // 用过滤器作为参数返回c盘目录下所有txt格式的文件
          for (String name : names) {
                   System.out.println(name);
          }
}


红色的那一行因为有了过滤器,所以只返回txt格式的文件名到数组中。 dir.list(new SuffixFilter(".txt")); 这句代码其实就是先进行dir.list (),然后把不是txt格式的文件给过滤掉了。

// 定义一个过滤器类,实现FilenameFilter接口,覆盖accept() 方法。
public class SuffixFilter implements FilenameFilter {
         private String suffix ;
         public SuffixFilter(String suffix) {
                  super();
                  this.suffix = suffix;
         }
         @Override
         public boolean accept(File dir, String name) {
                  return name.endsWith(suffix);  // 如果是特定格式的就返回真,否则返回假
         }

}                                                                              
































评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 答的非常好

查看全部评分

回复 使用道具 举报
学习了~~~~~~~~~
回复 使用道具 举报
袁梦希 发表于 2013-5-21 19:18
学习了~~~~~~~~~

:handshake  不敢当

签名太个性了!!!!有木有。。。
回复 使用道具 举报
石贤芝 发表于 2013-5-21 19:38
不敢当

签名太个性了!!!!有木有。。。

谢谢!!!
回复 使用道具 举报
石贤芝 发表于 2013-5-21 19:05
用流技术在遍历一个目录下特定格式的文件时,可以用过滤器来实现。过滤器,顾名思义,就是用来过滤某一特定 ...

重写下面的方法是做什么用的?
        @Override
          public boolean accept(File dir, String name) {
                   return name.endsWith(suffix);  // 如果是特定格式的就返回真,否则返回假
          }
回复 使用道具 举报
breeze 发表于 2013-5-22 07:55
重写下面的方法是做什么用的?
        @Override
          public boolean accept(File dir, String nam ...

dir.list(new SuffixFilter(".txt"))   这一行在执行时会调用accept(dir, name)函数,accept函数就是负责过滤的,文件name若是以.txt结尾就是返回真,否则返回假。
回复 使用道具 举报
xiewen 中级黑马 2013-5-24 13:43:32
8#
石贤芝 发表于 2013-5-21 19:05
用流技术在遍历一个目录下特定格式的文件时,可以用过滤器来实现。过滤器,顾名思义,就是用来过滤某一特定 ...

学习了。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马