日期:2014-05-18  浏览次数:20957 次

求人帮忙解析一下下面这段日志,用java实现??
本帖最后由 Henry_YQH 于 2013-05-31 19:35:06 编辑
有一段数据是这样的 :

14:00:00
请求:
Action=46

14:00:00
请求:功能号[46]: FCVTType=6 FEncodeType=2
IP=221.237.115.172
Action=46
GateWayIp=221.237.115.172

14:00:00
应答:功能号[46] FCVTType=6 FEncodeType=2
IP=221.237.115.172
Action=46
ErrorNo=0


14:00:00
请求:功能号[150]: FCVTType=6 FEncodeType=2
IP=221.7.7.64
Action=INQUIRESTOCKNUM
YybCode=21505
Account=A264680762
AccountType=SHACCOUNT
Password=70358030CF14F5A6BBDC71746FA75CD6
MobileCode=13909491477
CheckKEY=5441
Token=5qxuPv26700
Reqno=242
StartPos=0
MaxCount=10
CellIndex=6201
StockCode=000063
Direction=B
CommBatchEntrustInfo=1
NeedCheck=0
MobileType=3
From=tzt.gtja.ipad
AccountList=股东帐号类别|股东代码|主副标志|客户代码|股东姓名|
SHACCOUNT|A264680762|主股东帐号|12100296|韦林|
SZACCOUNT|0139367060|主股东帐号|12100296|韦林|

iPhoneKey=376668800
ZLib=3
HsString=
mac=00:00:00:00:00:70
mobilekind=ipad
phonever=6.0.1
phonekind=iPad
IMEI=99e44d4ec61f6caeffa9c7874d6ecdae9169b82d
GateWayIp=221.7.7.64
UserName=韦林
FundAccount=10077587
KHBranch=620103
UserCode=12100296
BANKINDENT=6004
Encrypt=1


14:00:00
应答:功能号[150] FCVTType=6 FEncodeType=2
IP=221.7.7.64
Account=0139367060
AccountType=SZACCOUNT
Token=5qxuPv26700
Reqno=242
MaxCount=2
ErrorNo=0
Price=12.980
Volume=2
CommBatchEntrustInfo=1
BankVolume=11490.98
Title=涓叴閫氳

14:00:00
请求:
Action=46



最终我想把上面的数据解析成可以放进数据库中的文件。上面一般都是键值对,数据库中只要存值就行了。
只要把下面的第二行放进数据库 ,作为每一列的值存起来。
时间          trpe     action     功能号      GateWayIp      FEncodeType  Reqno   Price   ....
14:00:00      应答       46       150     221.237.115.172    2           242     12.980

我主要不知道,怎样将每个时间段(比如14:00:00)分到每个while中循环一次 ,然后跳出while,继续下一个时间组的while循环。

java实现确实很烦,要不断的slipt,subString等等。。。
求高手帮忙一下,哪怕给个简单的提示也行。。
谢谢了~~~



------解决方案--------------------
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class ParseFile {

FileInputStream fi = null;
BufferedReader br = null;
String newFilePath  = "";
File newFile = null;
FileWriter fw = null;
BufferedWriter