使用map和list组合保存结果集,再石使用截取组装出参
import java.util.*;
public class Main{
public static void main(String [] args){
getErrorLog();
}
public static void getErrorLog(){
Scanner scan = new Scanner(System.in);
Map<String,Integer> map = new HashMap<>();
List<String> list = new ArrayList<>();
while(scan.hasNext()){
String str = scan.nextLine();
// 获取最后一个斜杠后的数据
String item = str.substring(str.lastIndexOf("\\")+1);
// 与当前统计进行比较,统计数量
if(null == map || null == map.get(item)){
map.put(item, 1);
list.add(item);
}else{
map.put(item, map.get(item) + 1);
}
}
// 输出
int len = 0;
if(list.size() >= 8 ){
len = list.size() - 8;
}
for(int i = len; i < list.size(); i++){
String temp = list.get(i);
// 提取文件名称
String [] str = temp.split(" ");
String ret = str[0];
// 判断文件名称是否大于16
if(ret.length() > 16){
ret = ret.substring(ret.length()-16);
}
// 组装出参
ret = ret + " " + str[1];
ret = ret + " " + map.get(temp);
System.out.println(ret);
}
}
}

京公网安备 11010502036488号