while循环执行一个我需要用Java存储的语句

时间:2013-06-04 17:43:34

标签: java while-loop

我找不到一个更好的方式来提出这个问题,但这就是我想做的事情。我使用RandomAccessFile类用输入文件做各种事情。

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

所以我使用代码:

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

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

2 个答案:

答案 0 :(得分:6)

执行此操作的一种常见方法是:

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

赋值评估为已分配的值。

答案 1 :(得分:1)

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

String currentLine = raf.readLine();
while(currentLine != null)
{
    //do stuff
    currentLine = raf.readLine();
}