2014-05-06 88 views
-1

我正在尋找支持基於行的尋找的文本閱讀器。我希望它也支持編碼。例如,它可能看起來像允許我尋找不同行的文本閱讀器

seekLines(n, seekType) - goes to a particular line based on the seek type 

跳軌類型將類似於它是如何爲二進制文件做了一個方法:從文件的開始,從當前位置,也許從結束。

例如,假設我有以下行:

1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
2 sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
3 Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip 

我目前在第2行如果我說

seek(1, CURRENT); // arbitrary constant 

然後,它會去排隊3.如果我說

seek(1, BEGIN); 

它會去1號線

是否有可用的庫提供此功能?

+1

4K用戶應該知道這是題外話題... – Zong

+0

關於圖書館的問題是在幫助中心定義的主題。 – MxyL

+1

但「要求我們推薦或找到工具,圖書館或最喜歡的非現場資源的問題與Stack Overflow無關,因爲它們傾向於吸引自以爲是的答案和垃圾郵件。」?您的文章開頭看起來像是您最終要求的圖書館的一系列要求。 – Zong

回答

1

您需要將文本行的索引轉換爲隨機行。最簡單的解決方案是將所有行讀入List<String>並隨機查看。


如果你不能適應內存中的所有文本,你可以索引所有的行。這可以通過一個內存映射文件來完成,所以它不需要使用大量的堆。您需要閱讀所有要查找的內容,但只需執行一次。

+0

不,讓我們保持這個有趣,並說文件比堆大。吮吸它全部崩潰程序:) – Totoro

+0

謝謝,目前我有我自己的類,內部使用BufferedInputReader將其讀入一個數組列表並使用建議的索引。行索引是一個有趣的方法,我沒有想到(因爲到目前爲止所有用例都是合理的文件大小) – MxyL

相關問題