您的位置:首页 > 编程语言 > Java开发

java 将某个文件夹里的文件 全部 过滤后打印出来

2017-11-05 22:31 375 查看
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

// 通过过滤文件名
// 将某个文件夹里的文件 全部 过滤后打印出来
class filterFile
{
File file=null;
FilenameFilter filter=null;
List<File> list=new ArrayList<File>();
filterFile(File file,FilenameFilter filter)
{
this.file=file;
this.filter=filter;
GetFiles(file);
}
public void print()
{
Iterator<File> it=list.iterator();
while (it.hasNext())
{
System.out.println(it.next());
}
}
private void GetFiles(File file)
{
File[] files=file.listFiles();
if(files!=null)
for(File file1:files)
{
if(file1.isDirectory())
{
GetFiles(file1);
}
else
{
if(filter.accept(file,file1.getName()))
{
list.add(file1);
}
}
}
}

}

public class Main {

public static void main(String[] args) throws IOException {
File FileFrom=new File("/Users/mac/java/from");
FileFrom.mkdirs();
//过滤java文件
FilenameFilter filter=new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".java");
}
};
filterFile fp=new filterFile(FileFrom,filter);
fp.print();
}
}


文件的结构:



运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐