2011-03-14 89 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是否可以执行内存压缩)。

相关问题