在【金阳光测试】Android自动化第一季第一讲——预备知识中有这样一个面试题

题目如下:

编写一个脚本,统计log文件中首个单词出现的次数,如:

error:xxx

waring:xxx

error:xxx

waring:xxx

由于自身能力及对java的不了解,请大家多多指点,自己写的程序如下:

FileStudy.java:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;public class FileStudy {   public static void main(String[] args){getFileDemo d = new getFileDemo();d.getData();}}

getFileDemo.java:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;public class getFileDemo {String s = "";String lines = "";String Temp = "";String temp = "";String pathName = "E:\\practise\\Java_File\\log.txt";String[] tempString;int endIndex = 0;int k = 0;public void getData(){try {File filename = new File(pathName);InputStreamReader reader = new InputStreamReader(new FileInputStream(filename));BufferedReader br = new BufferedReader(reader);while((lines =br.readLine()) != null){
//              System.out.println(lines);s += lines + "\n"; }
//          System.out.println("------------------");
//          System.out.println(s);String[] b = s.split("\n");
//          System.out.println("------------------");
//          for (int i=0;i<b.length;i++){
//              System.out.println(b[i]);
//          }
//          System.out.println("------------------");for (int i=0;i<b.length;i++){endIndex = b[i].indexOf(":");
//              System.out.println(endIndex);temp += b[i].substring(0, endIndex)+"\n";tempString = temp.split("\n");}
//          System.out.println("------------------");for (int i=0;i<tempString.length;i++){if(tempString[i].equals(tempString[0])){k = k + 1;}
//              System.out.println(tempString[i]);}System.out.println(k);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

金阳光修改后给出的代码如下:

【差距立马就体现出来了。。。】

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;public class getFileDemo {
String lines = "";String pathName = "c:\\log.txt";int temp=0;static Map <String,Integer> hashMap = new HashMap<String,Integer>();public void getData() {try {File filename = new File(pathName);InputStreamReader reader = new InputStreamReader(new FileInputStream(filename));BufferedReader br = new BufferedReader(reader);String everyLineData =null;hashMap.put("error", 0);hashMap.put("debug", 0);while ((lines = br.readLine()) != null) {everyLineData= lines;System.out.println(lines);String data = everyLineData.split(":")[0];if(hashMap.containsKey(data)){hashMap.put(data, hashMap.get(data)+1);}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args) {getFileDemo d = new getFileDemo();d.getData();Iterator iterator = hashMap.entrySet().iterator();while (iterator.hasNext()) {Entry entry= (Entry) iterator.next();String key= (String) entry.getKey();int value =  (int) entry.getValue();System.out.println(key+value);}}}

--------------------------------------------------------------------------------------

推荐下【金阳光测试】的系列视频,相关搜索方法:

方法一:官网:http://www.goldensunshine.cc/   进入免费视频区
方法二:百度或谷歌搜:金阳光测试

编写一个脚本,统计log文件中首个单词出现的次数相关推荐

  1. c语言去掉文件中重复单词,可以读出文件中出现所有单词的出现次数并显示求只显示出现最多5...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 可以读出文件中出现所有单词的出现次数并显示求只显示出现次数最多的5个单词及其出现次数 现代码如下: #include #include #include ...

  2. linux下统计log文件中某个字段的值,并计算出平均值

    测试场景:统计log文件output.txt中字段"framesPerSecond"的所有值的平均值 分成两个步骤: 进入对应点log文件所在目录下 第一步:统计出字符串出现的次数 ...

  3. python文件中单词的删除_使用python删除文件中的多余单词

    嗨,我正在学习Python,出于好奇,我编写了一个程序来删除文件中多余的单词. 我正在比较文件text1.txt中的测试.和'text2.txt',基于text1中的测试,我删除了test2中多余的单 ...

  4. python读取日志统计ip_使用python脚本实现统计日志文件中的ip访问次数

    使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...

  5. matlab编写正整数阶乘函数,用matlab语言编写程序:编写一个计算阶乘的函数,再编写一个脚本文件,通过键盘输入计算阶乘的n值....

    点击查看用matlab语言编写程序:编写一个计算阶乘的函数,再编写一个脚本文件,通过键盘输入计算阶乘的n值.具体信息 答:编写一个matlab文件,求1到n的阶乘之和.其代码编写的目的,就是学会自定义 ...

  6. 编写一个程序。要求输入5个学生的成绩(从0到100的整数)并将这5个数保存到文件“data.txt”中,然后再编写一个程序,从文件“data.txt”中读取这5个学生的成绩,计算并输出他们的平均数,然

    编写一个程序.要求输入5个学生的成绩(从0到100的整数)并将这5个数保存到文件"data.txt"中,然后再编写一个程序,从文件"data.txt"中读取这5 ...

  7. Java数据结构习题:编写一个max(),接受首节点作为参数,返回链表中数值最大的结点的值(假设所有数据都是正整数,如果链表为空则返回0)

    编写一个max(),接受首节点作为参数,返回链表中数值最大的结点的值(假设所有数据都是正整数,如果链表为空则返回0) 核心代码: // 编写一个max(),接受首节点作为参数,返回链表中数值最大的结点 ...

  8. 统计特定文件中的词频

    查找文件中使用的单词的频率是一件很有意思的事情,下面,我们利用 关联数组,awk,sed,grep 等不同的方式来解决问题. 首先,我们需要一个测试用的文本,保存名为  word.txt 内容如下: ...

  9. 对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解read命令的大致用途: 编写一个脚本: #!/bin/bash # hao32 test read echo -e Pl

    编写一个脚本: #!/bin/bash # hao32 test read echo -e "Please enter your test :" read TESTREAD ech ...

最新文章

  1. Java学习笔记(二一)——Java 泛型
  2. Linux海量数据高并发实时同步架构方案杂谈
  3. hdu 2065 红色病毒问题 (母函数)
  4. hdu 4193(单调队列)
  5. 3-插入排序C实现(递增递减的简单转换)
  6. Java数据库连接池--DBCP浅析
  7. Huntor中国CRM评估报告连载(一)
  8. python-图书管理系统2-整体 代码架构
  9. Python自然语言处理学习笔记(60):7.1 信息抽取
  10. ARPSpoofing教程(四) - 捕获并分析数据包
  11. ZigBee协议栈的串口实验
  12. 【面经】京东搜索广告算法一面
  13. 用JSP创建一个表格模板 .
  14. ROS小车IMU、角速度、线速度等参数校验
  15. 互联网公司的岗位英文简写
  16. 嵌入式开发经验分享,把学习当作一种兴趣
  17. 数据结构之 击鼓传花
  18. 蓝桥杯每日一题(既约分数)
  19. 一文看懂队列(FIFO)
  20. 面试软件工程师非专业问题

热门文章

  1. 垃圾领导把我的功劳全抢走了!
  2. Threejs使用白底贴图时,显示出来的图片为灰底
  3. IOI2017 古书books
  4. 初学python100例-案例35 数字反转 少儿编程python编程实例讲解
  5. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
  6. 如何去掉HTML中文字下面显示的横线
  7. python实现情感分析_利用python实现简单情感分析
  8. Windows系统 Apple 注销账户 Revoke Token
  9. 曲线切线的定义和导数(极限)
  10. jq input 实时监听chang事件