import java.io.BufferedReader;
import java.io.File;
import java.io.FileFilter;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 用java扫描指定文件夹下面所有以.txt, .log结尾的文件,
* 并将其绝对路径输出
* @author lenovo
*
*/
public class Test1 {
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++){
if(arr[i].isDirectory()){//如果是文件夹
find(arr[i].getAbsolutePath(),reg);
}
Matcher mat=pat.matcher(arr[i].getAbsolutePath());
//根据正则表达式,寻找匹配的文件
if(mat.matches()){
System.out.println(arr[i].getAbsolutePath());
}
}
}
public static List<String> getFileList(File file) {
List<String> result = new ArrayList<String>();
if (!file.isDirectory()) {
System.out.println(file.getAbsolutePath());
result.add(file.getAbsolutePath());
} else {
File[] directoryList = file.listFiles(new FileFilter() {
public boolean accept(File file) {
if (file.isFile() && file.getName().indexOf("txt") > -1) {
return true;
} else {
return false;
}
}
});
for (int i = 0; i < directoryList.length; i++) {
result.add(directoryList[i].getPath());
}
}
return result;
}
public static void main(String[] args)throws IOException{
// new Test1().find("F:\\nhao", "\\s+\\.txt");
String FILE_IN = "F:\\nhao";
File f = new File(FILE_IN);
List<String> list = new ArrayList<String>();
list = getFileList(f);
System.out.println(list.size());
for (String l : list) {
System.out.println(l);
BufferedReader br = new BufferedReader(new FileReader(new File(l)));
String line = br.readLine();
System.out.println(line);
}
}
}
用java扫描指定文件夹下面所有以.txt, .log结尾的文件,
最新推荐文章于 2023-02-07 14:09:24 发布