用JAVA扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出
目录
用JAVA扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出
这个问题需要了解一下File这个类的几个常用方法。
大家可以直接在代码中体会一下。
package go.derek;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Findfile {
public void find(String path,String reg){
Pattern pat=Pattern.compile(reg);
File file=new File(path);
File[] arr=file.listFiles();
for(int i=0;i<arr.length;i++){
//判断是否是文件夹,如果是的话,再调用一下find方法
if(arr[i].isDirectory()){
find(arr[i].getAbsolutePath(),reg);
}
Matcher mat=pat.matcher(arr[i].getAbsolutePath());
//根据正则表达式,寻找匹配的文件
if(mat.matches()){
//这个getAbsolutePath()方法返回一个String的文件绝对路径
System.out.println(arr[i].getAbsolutePath());
}
}
}
public static void main(String[] args) throws IOException{
new Findfile().find("d:\\java小程序", "\\S+\txt");
}
}
了解了上面几个常用方法,解题就很简单了~