2011-12-06 67 views
0

我得到了一連串的字符,我已經移入一個單一行中的平面文件。現在這些角色以下面的形式出現。解析字符流

keepalivekeep_aliveenroll,10.213.17.4,0,12,594,4,5,METRO-A,1enroll,10.213.17.4,0,13,594,4,5,METRO-B,1clear,10.213.17.4,0,14,100010934,1323168443 

我想要的是將特定的標籤(keep_aliveclearenroll等)不同線路之間的消息來。例如,上面的輸出應該是:

keep_alive  
keep_alive                  enroll,10.213.17.4,0,12,594,4,5,METRO-A,1 
enroll,10.213.17.4,0,13,594,4,5,METRO-B,1 
clear,10.213.17.4,0,14,100010934,1323168443 

在Java中這樣做的最佳方法是什麼?這裏值得注意的是該文件正在獲得連續的數據,並且我需要在某種循環中連續執行此操作。

+0

百種方式來做到這一點,都需要編程。您可能可以使用「正則表達式」來完成一些工作。 –

+0

謝謝,正試圖瞭解是否存在一些API /或最好的方法來更快地完成它。 – learner

回答

0

Java不支持異步文件操作。換句話說,如果在文件已經在File對象中打開文件的情況下更改了文件,則無需打開新的File對象即可對文件所做的任何更改都將被忽略。我會建議您將數據寫入stream,而不是像StringBuffer(喘氣,我討厭那些)在這裏工作。

簡而言之:你不能做你想做的事。

+0

感謝喬恩,我真的不需要把它放在我剛剛做的轉儲數據的文件中。我認爲我需要做的是將字符串轉換爲字符串,然後檢查匹配。 – learner

+0

這會工作,但如果你想連續輸入,你需要使用某種緩衝區。通過這種方式,您可以管理即將到來的內容,而不用等待整個行的寫入。 – Jon