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

问题描述

【求助】怎么用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文件,格式同上。

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

解决方案

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

解决方案二:

http://www.cnblogs.com/manongxiaojiang/archive/2012/10/13/2722068.html

然后自己一行行读取,再按规律解析。

时间: 2024-10-03 03:54:28

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

c++读取csv文件并赋值-如何通过c ++读取一个csv文件并将数据赋值给两个一位数组?

问题描述 如何通过c ++读取一个csv文件并将数据赋值给两个一位数组? 0 912.43 1.24 912.42 1.54 901.92 21.94 883.97 24.17 881.51 29.94 876.45 37.4 870.57 49.62 861.14 59.06 853.05 75.99 843.75 90.84 833.95 118.8 818.25 135.2 804.9 152.35 791.55 157.68 791.15 174.6 770.35 190.92 766.

求思路,我怎么把以下的htm代码中的table输出一个Excel文件

问题描述 <TableBorder=1cellspacing=0cellpadding=1bordercolorlignt=000000bordercolordark=ffffffclass=9PIX><Tr><Td>开始时间</Td><Td>结束时间</Td><Td>主叫号码</Td><Td>被叫号码</Td><Td>时长(秒)</Td><Td>话费

dll文件-请问VS2013如何让输出的DLL文件直接变成.mexw64文件?

问题描述 请问VS2013如何让输出的DLL文件直接变成.mexw64文件? 请问VS2013如何让输出的DLL文件直接变成.mexw64文件?是否可以直接控制输出文件的后缀?或者有什么方法可以修改文件的后缀名? 解决方案 只改后缀的话,可以编译器属性中output名字中修改.

写日志类 vs2010 日志文件按月,每月写一个日志文件

#pragma once class LogFile { protected: CRITICAL_SECTION _csLock; char * _szFileName; HANDLE _hFile; bool OpenFile();//打开文件, 指针到文件尾 DWORD Write(LPCVOID lpBuffer, DWORD dwLength); virtual void WriteLog( LPCVOID lpBuffer, DWORD dwLength);//写日志, 可以扩展修改

java求助空指针问题 、、、、、、、、、

问题描述 java求助空指针问题 ......... 一个读取TXT文件到arratlist中方法,主函数调用,54行出现空指针异常问题,怎么解决 解决方案 加上一个判断 if (reader.hasNextline() && !(str = reader.readLine()).equals("")) 解决方案二: 首先说明这个文件为空或者不存在,其次,第54行写的是不对的,不是判空,而是判断是否为null,这两者是完全不同的,对一个根本不存在的对象进行与空字符串的比

java数组-解析csv文件为数组怎么做?

问题描述 解析csv文件为数组怎么做? 小弟,新人,第一次问问题,大神们,帮我看看怎么弄-有一个csv文件的数据文件(里面大概存了200条的数据)怎样把它处理一下,写入到数据库中呢?要求3分钟内实现,插入完成! PS--要用批处理吗? 解决方案 http://lqcjdx.blog.163.com/blog/static/207489241201356111749932/ 解决方案二: CSV 文件解析解析CSV文件csv文件格式化数组 解决方案三: 建一个跟csv列对应的表,在plsql里,s

[20171120]11G关闭直接路径读.txt

[20171120]11G关闭直接路径读.txt --//今天做filesystemio_options参数测试时,遇到一个关于直接路径读的问题. --//如果看以前的博客介绍,设置"_serial_direct_read"=never或者events '10949 trace name context forever';就可以关闭直接路径读. --//我的测试在11GR2下set events '10949 trace name context forever';不行. --//通过

php操作csv文件代码实例汇总_php实例

1.读取csv数据, 输出到sales.csv文件中: $sales = array( array('Northeast', '2004-01-01', '2004-02-01', 12.54), array('Northwest', '2004-01-01', '2004-02-01', 546.33), array('Southeast', '2004-01-01', '2004-02-01', 93.26), array('Southwest', '2004-01-01', '2004-0

csv-java中读取CSV文件时怎么处理数据当中的逗号?

问题描述 java中读取CSV文件时怎么处理数据当中的逗号? 现在要读取一个CSV文件,将内容读取后用excel的格式输出, 读取的时候使用StringTokenizer类,用逗号将CSV的数据用逗号一个个分割, csv的格式是这样的(值与值之间用半角逗号分隔): "aaa","bbb","ccc","ddd","eee"; 像这样的情况是没有问题的: 但是当数据中也有半角逗号时,例如: "aaa