首页
登录 | 注册

java之使用文件过滤器接口来过滤文件

目标:掌握通过FilenameFilter类来过滤文件的方法

源文件:JavaFilter.java
package cn.com.JavaFilter;


import java.io.File;
import java.io.FilenameFilter;


public class JavaFilter implements FilenameFilter{


public boolean accept(File dir, String name) {
// TODO Auto-generated method stub

return name.endsWith(".java");
}
}
这个类JavaFilter实现了FileNameFilter接口,并实现了accept()方法,它将根据文件扩展名是否为.java来过滤文件。

源文件:TestJavaFilter.java
/*
 * java之使用文件过滤器接口来过滤文件
 * author guojing
 * e-mail guo443193911@126.com
 * 
 * 
 */
package cn.com.JavaFilter;


import java.io.File;


public class TestJavaFilter {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub


if(args.length != 1){
System.out.println("Usage:java RadomAcessExample ");
System.exit(0);
}


String dir = args[0];
File currDir  = new File(dir);
String[] javaFilter = currDir.list(new JavaFilter());

for(int i = 0;i < javaFilter.length;i++){
System.out.println(javaFilter[i]);
        }
    }
}

在run configurations中设置命令行的参数为“.”,在当前目录下创建test.java  , test -  (2).java    ,test - 1.java三个文件。
编译程序,运行结果如下:
test.java
test -  (2).java
test - 1.java

这个程序将刚才定义的JavaFilter类当做File类的list()方法的参数,因此,它能够将制定的路径下的所有.java文件列出来。





相关文章

  • int [] ADomainList = conn.listDomains();   定义一个整形数组  获得Domain的ID String [] IADomainList = conn.listDefinedDomains();  定义 ...
  • public MemoryStatistic[] memoryStats(int number) throws LibvirtException { virDomainMemoryStats[] stats = new virDomainM ...
  • 2 libvirt库函数说明   (1) conn = new Connect("qemu:///system",true) conn = new Connect("qemu:///system",f ...
  •         Hadoop有一个抽象的文件系统概念,HDFS只是其中一个实现.Java抽象类org.apache.hadoop.fs.FileSystem定义了Hadoop中的一个文件系统接口,并且该抽象类有几个具体的实现.Hadoop对 ...
  • 今天想试试Linux系统下把java应用程序打包成.jar文件,在网上找了很多相关的博客,发现他们理论讲得很到位,但是按照他们的方式操作发现很多错误,最后综合几篇文章终于尝试成功.多学习别人的失败,更容易带你走向成功,现在把自己操作过程罗列 ...
  •   说话的分歧点:          Java说话和C#说话很是相似,虽然内部会有良多区别,供给的API也纷歧样,但开发一个具体功能点的思绪常用的都差不多,因为对斗劲新的手艺和特征开发过程中接触不多,我所碰着的分歧点搜罗:          ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号