我想弄清楚如何最好地解析下面的日誌文件,拆分每個部分由水平線分開並提取各種數據片段,例如, 'COMPANY123','BIMMU',日期(2/18等),然後創建一個字符串,其中包含由水平線分隔的部分中包含的所有其他數據。解析Java中固定寬度文本日誌的策略
即,我想創建一個「說法」的對象數組每個具有以下屬性:
Company name, Account, Date, Data.
例如對於下面的第二記錄,
Account = 'BIMMU'
Firm = 'Super Corporation'
Date= 9/14/11
Data = '* * * * * * * * TODAYS ACCOUNT ACTIVITY * * * * * * * * * * *
9/14/11 Y9 CALL OESX OCT 11 ........ etc'
日誌是一固定寬度的文本文件和變量(日期等)總是發生在該行中的相同的位置,例如sSalesCode = line.substring(142, 147);
我應該做兩次這樣的事情,例如:將代碼分成由水平線分隔的部分,然後分別解析這些部分?
只要在這裏寫出來幫助我得到我的思路,但如果任何人有任何聰明的想法,那麼聽到他們會很高興。
------------------------------------------------------------------------------------------------------------------------------------F BIASPBIMMU
BIMMU BIASP-COMPANY123 KG (Z) 9/14/11 EU (T- I-) MT-0 F BIASP²BIMMU
CALLS 2/18 YI 50.00-X (49) F BIASP²BIMMU
------------------------------------------------------------------------------------------------------------------------------------F BIASPBIMMU
BIMMU BIMM2-SUPER CORPORATION KG (Z) 9/14/11 EU (T- I-) MT-0 F BIMM2²BIMMU
F BIMM2²BIMMU
* * * * * * * * * * * * * * * * * * * T O D A Y S A C C O U N T A C T I V I T Y * * * * * * * * * * * * * * * * * * * *F BIMM2²BIMMU
9/14/11 Y9 500 GO CALL OESX OCT 11 2400 9.60 EU .00 F BIMM2²BIMMU
GO-PARFSecurities Ser F BIMM2²BIMMU
Y9 * 500 * COMMISSIONS EU 250.00- F BIMM2²BIMMU
Y9 PERTES & PROFITS NETS EU 250.00- F BIMM2BIMMU
CALLS 9/14 E1 17,825.00-H (1) F BIMM2²BIMMU
CALLS 9/14 E1 17,825.00-N (1) F BIMM2²BIMMU
-----------------------------------------------------------------------------------------------------------------------------------