2011-03-14 26 views

回答

3

我認爲這也許:

getPreviousLine(); 
2

你的意思大概是類似於轉到它使您可以轉到以前的代碼。如果這就是你的意思,那麼答案就是它在Java中不可能,你必須以另一種方式來解決這個問題。

如果你可以給一些更多的信息或代碼也許你會得到關於如何解決這個問題的一些想法。

+0

如果你使用GOTO,猛禽會爲你而來! – 2011-03-14 22:58:58

1

如果你指的是從文件中讀取和您正在使用java.io.Reader,不java.util.Scanner做你的閱讀,你可以嘗試用讀者的mark()方法如果支持(應該是如果區域對文件進行處理,而不是流渠道如網絡)。然後,你mark()位置後(讀取前行的時候),如果你想讀一個新的只需要調用讀者的reset()方法回去後到該行。

更多信息here

編輯:如果你的線都沒有那麼大,你可以「緩存」他們,在存儲器中存儲前行。也就是說,如果它沒有超過您計劃應用程序將使用的內存量。此外,還可能存在另一個性能問題:爲很多行分配和取消分配內存可能會導致垃圾收集器更頻繁地跳轉,從而導致性能下降,並且如果您正在使用的垃圾回收器沒有做內存壓縮,你可能會在那裏得到一些內存碎片(我認爲不是Java VM 1.4或1.5+的情況,但對於像Dalvik這樣的小型虛擬機可能會出現這種情況 - 沒有檢查過它的GC是否可以執行內存壓縮)。

相關問題