我现在在java开发中遇到一个问题需要解决:请高手指点

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:42:35
现在我要对抓取的日志文件进行解析,日志文件是这样的:
192.168.1.200--〔时间〕 ”请求路径” 900 666
当然有很多行,现在我需要提取ip,时间,请求路径 和后面的访问次数
然后把提取出来的信息导入excel文件
127.0.0.1 - - [21/Nov/2007:00:00:01 +0800] "GET /touchURL HTTP/1.1" 404 979
127.0.0.1 - - [21/Nov/2007:00:00:01 +0800] "GET /touchURL HTTP/1.1" 404 979
222.64.193.25 - - [21/Nov/2007:00:00:06 +0800] "GET /adhtm/ad10.jsp?adid=19&imgurl=p4/43697161.gif&userid=135 HTTP/1.1" 200 179
日志是如上面那样的 ,关键它是不定长的!不好用substring吧!
听说用正则表达式可以分割,可是我不怎么会!

如果说一行是一条日志的话那很好解决啊
读取文件你总会吧,网上大巴的例子
加入你现在读取了一行的数据
String log="192.16.1.200 xxxxxxxxxxxxxxxxx"
你使用log.index("xxx");
来分析从那里开始截取
然后使用subxxxx那个方法把这个LOG截取了
分贝保存在String ip
Date time等对象里面
时间的话记得format一下

导入到excel要使用jasperreport
你可以去这里查找使用方法
http://www.wzsky.net/html/Program/jsp/6024.html
或者你自己BAIDU一下