我找不到一个更好的方式来提出这个问题,但这就是我想做的事情。我使用RandomAccessFile类用输入文件做各种事情。
我想在尝试存储该行之前检查以确保下一行文件不为null。
所以我使用代码:
while (raf.readLine() ! = null)
{
//Do things with that line
}
但是一旦我在while循环中调用raf.readLine(),我就迭代到下一行而不实际存储该行。我有没有办法在while循环中存储读取的行?
答案 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();
}