通俗点说法filter相当于加油站,request是条路,response是条路,目的地是servlet,这个加油站设在什么地方对什么数据 *** 作可以由你来控制。
备注:过滤器可以再请求和响应之前做一部分预处理,有效的过滤掉不需要的内容,而且过滤器可以被复用,节省了大量的复用代码,提高了java的代码执行效率
accept函数你用的不对,它只需要你指定过滤条件就可以了,不需要递归调用.
如果你需要其子目录下的.png文件,可以另外写一个递归调用.
完整的文件过滤的Java程序如下
import java.io.Fileimport java.io.FilenameFilter
class MyFilenameFilter1 implements FilenameFilter{
@Override
public boolean accept(File dir, String name) {
if(name.toLowerCase().endsWith(".png"))return true
return false
}
}
public class FileDemo6_1 {
static void findFile(File dir){
if(dir.isDirectory()){
File[] fs1=dir.listFiles(new MyFilenameFilter1())
for(File file2:fs1){
System.out.println(file2)
}
File[] fs=dir.listFiles()
for(File file:fs){
findFile(file)
}
}
}
public static void main(String[] args) {
findFile(new File("C:/tmp/6"))
}
}
运行结果
C:\tmp\6\female.png
C:\tmp\6\male.png
C:\tmp\6\image\female.png
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)