62,616
社区成员
发帖
与我相关
我的任务
分享
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegxTest {
public static void main(String[] args){
Pattern p = Pattern.compile(".+\\.jar");
Matcher m = p.matcher("dfsdf.jar");
System.out.println(m.matches());
m = p.matcher(".jar");
System.out.println(m.matches());
m = p.matcher("dfsdf.ja");
System.out.println(m.matches());
m = p.matcher("dfsdf.");
System.out.println(m.matches());
m = p.matcher("dfsdfjar");
System.out.println(m.matches());
}
}
/*****************过滤器*********************************/
import java.io.File;
import java.io.FilenameFilter;
public class FileFilter implements FilenameFilter {
private String key;
public FileFilter(){
}
public FileFilter(String key){
this.key = key;
}
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
File file = new File(dir.getAbsoluteFile()+"/"+name);
if(file.isDirectory()) return true; //如果是目录,不管有没有包含key,都返回true
return name.contains(key);
}
}
/****************************主类************************/
import java.io.File;
public class TestCode {
public static void main(String[] args) {
findFiles("F:", "ruby");
System.out.println("好了");
}
public static void findFiles(String filePath, String key) {
File file = new File(filePath);
if (file.isFile()) {
System.out.println(file.getName()); // 如果是个文件则返回
return;
}
// 否则是目录,继续遍历里面的文件
File[] files = file.listFiles(new FileFilter(key));
if (files != null) {
for (int i = 0; i < files.length; i++) {
findFiles(files[i].getAbsolutePath(), key);
}
}
}
}
public static void findFiles(String filePath,String key){
File file = new File(filePath);
if(file.isFile()){
System.out.println(file.getAbsolutePath()); //如果是个文件则返回
return ;
}
//否则是目录,继续遍历里面的文件
File[] files = file.listFiles(); //这里添加一个实现FilenameFilter接口的类的实例,以关键字key,过滤文件名
for(int i=0; i<files.length; i++){
findFiles(files[i].getAbsolutePath(),key);
}
}