本文是不包括文件夹下还有文件夹的情况,代码如下:
public static void statisCallingIP(){
Set IPSet = null;
IPSet = new HashSet();
FileReader fr = null;
String line = null;
BufferedReader br = null;
try {
File dir = new File("d:/Users/jaloli/Desktop/");
File[] files = dir.listFiles(); //获取文件夹中的所有文件
for(File file : files){ //遍历文件夹中的所有文件
Set IPSetTemp = new HashSet();
fr = new FileReader(file);
br = new BufferedReader(fr);
String[] temp1 = null;
String[] temp2 = null;
while((line = br.readLine())!=null ){
if(line.contains("/activi/search")){
temp1 = line.split("200 OK");
temp2 = temp1[0].split(".*:\\d{1,5}");//贪婪匹配冒号数字空格
IPSetTemp.add(temp2[temp2.length-1].trim());
}
}
IPSet.addAll(IPSetTemp); //添加到整体的set 中
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
for(String ip : IPSet){
System.out.println(ip);
}
IPSet.clear();
}