package util;
import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyFileFilter implements FilenameFilter {
String rule;
Pattern p ;
public MyFileFilter(){
this.rule="\\.java$|\\.jsp$|\\.xml$|\\.html$|\\.js$|\\.txt$";
p= Pattern.compile(rule);
}
public MyFileFilter(String rule){
this.rule=rule;
p= Pattern.compile(rule);
}
public boolean accept(File dir, String filename) {
if(new File(dir, filename).isDirectory()){
if("619".equals(dir.getName())){
if("811".equals(filename)){
return true;
}else return false;
}
return true;
}
Matcher matcher=p.matcher(filename);
if(matcher.find()){
/*if(filename.contains("temp")){
return false;
}if(filename.startsWith("619")||filename.startsWith("w_619")){
if(filename.contains("619811")){
return true;
}else return false;
}*/
/*if(filename.contains("cn.wav")){
return true;
}
*/
return true;
}
return false;
}
}
package util;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class SearchDate {
//存放文件
private List<File> files=new ArrayList<File>();
private static MyFileFilter filter=new MyFileFilter("\\.wav");
public SearchDate(){
}
//实现在多个文件中查早某个内容
public static void main(String[] args) throws Exception {
File[] fs=new File[2];
fs[0]=new File("x:\\");
// fs[1]=new File("d:\\");
SerarchFile(fs);
}
public List<File> getFiles() {
return files;
}
public void setFiles(List<File> files) {
this.files = files;
}
public static void SerarchFile(File[] fs) throws IOException{
if(fs==null){
return;
}
for(int i=0;i<fs.length;i++){
File f=fs[i];
if(f==null){
continue;
}
if(f.isDirectory()){
SerarchFile(f.listFiles(filter));
}else{
System.out.println(f.getCanonicalPath());
}
}
}
}