u010235241 2013-09-06 09:01 采纳率: 0%
浏览 3488

【求助】怎么用Java读txt文件,根据其中的条件,输出一个csv文件?(具体情况见内容)

用Java,
读txt文件(根据Eclipse软件的下方的console改成的log.txt)
——————————————————————————————————————
例:
[2013-08-26 10:45:45,042] ERROR does not exist.
[2013-08-26 14:43:09,145] ERROR Certification failed.
[2013-08-26 14:43:09,145] ERROR Certification failed.
[2013-08-26 14:43:10,973] ERROR Certification failed.
[2013-08-26 14:43:33,285] ERROR Certification failed.
[2013-08-28 09:23:12,920] INFO Login succeeded.User ID=[CSDN123]
[2013-09-02 10:13:32,793] INFO Login succeeded.User ID=[CSDN123]
[2013-09-02 10:36:05,050] INFO Login succeeded.User ID=[CSDN123]
[2013-09-02 10:48:26,407] INFO Login succeeded.User ID=[CSDN123]
——————————————————————————————————————
从左至右分别是:
[时间][级别(有Error、Info、Warning等)][错误信息]

然后,根据时间(如:2013-08-26至2013-09-01),
将其中这些行的信息写成csv文件
(格式是:时间,级别(有ERROR、INFO、WARNING等),错误信息)。

或者,根据级别(如:级别是ERROR),
将这些行的信息写成csv文件,格式同上。

小弟初来乍到,求大神帮忙,实现此功能,万分感谢!

  • 写回答

2条回答 默认 最新

  • 刨坑数据 2015-08-10 06:44
    关注
    Java没有这些类库,直接处理可行但非常麻烦。这种情况用润乾集算器要方便得多,将日志解析成二维行列的序表,并输出csv,脚本如下:
    

    A1 =file("E:\log.txt").import@i()

    A2 =A1.(~.array(" ")).new(~(1).string():time,~(2):level,~.to(3,).string(" "):content)

    A3 =A2.select(time>="2013-08-26" && time<="2013-09-01")

    A4 =file("E:\result.csv").export@t(A3;",")

    
    

    这段代码很容易嵌入JAVA程序中使用,可参考http://blog.raqsoft.cn/?p=5805 ,更多例子可参考http://blog.raqsoft.cn/?p=4792

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集