0

我找不到更好的方式来表达这个问题,但这就是我想做的。我正在使用 RandomAccessFile 类对输入文件执行各种操作。

在尝试存储该行之前,我想检查以确保下一行文件不为空。

所以我使用代码:

while (raf.readLine() ! = null)
{
     //Do things with that line
}

但是一旦我在 while 循环中调用 raf.readLine() ,我就会迭代到下一行而不实际存储该行。有没有办法可以存储在while循环中读取的行?

4

2 回答 2

6

一种常见的方法是:

while ((myLine = raf.readLine()) != null)
{
     //Do things with that line, held in myLine
}

分配评估为分配的值。

于 2013-06-04T17:45:12.027 回答
1

您可以声明该变量以存储循环外的行并使用第一行对其进行初始化,并在循环结束时读取下一行,然后检查该变量在循环条件中是否为空。

String currentLine = raf.readLine();
while(currentLine != null)
{
    //do stuff
    currentLine = raf.readLine();
}
于 2013-06-04T17:46:58.840 回答