需求分析
1.日志文件比较大,所以考虑用流来读取,使用转换流,一次一行
2.文件读取的时候,我们需要对读取到的每一行文件进行截取,获取我们需要的url的后半部分内容
将其存入list集合
3.计算list集合中某一元素的出现次数,并且将该元素作为key,其出现此处作为value存入Map集合中
(Map集合的key具有唯一属性,可以去重复,当然放入set集合也是一样的道理)
4.对Map集合按照value进行排序
6.获取集合中前十个数据即可
分析完毕,直接上代码。
鉴于,这样的日志文件,当前不存在,我自己用流写了一个文件
//文件写入
private static void writerFile() throws Exception {
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("E:\\aa.txt")));
int count = 0;
System.out.println(1);
while(count<=1000) {
for (int i = 0; i < 100; i++) {
bw.write("aa bb cc/h"+i);
bw.newLine();
bw.flush();
System.out.println(count);
count++;
}
}
bw.close();
}
文件在指定位置写好之后,我们需要对文件中的部分内容进行修改,以达到更加直观的展示。
方法很简单,双击打开文件ÿ