Не получается правильный вывод из java RandomAccessFile
Итак, вот код, который я запустил.
import java.io.*;
public class SETBQ1 {
public static void main(String[] args) throws Exception {
RandomAccessFile item = new RandomAccessFile("item.dat", "rw");
String s;
while ((s = item.readLine()) != null) {
System.out.println(s);
}
System.out.println(s);
item.close();
}
}
Кстати, содержимое item.dat
1 pencil 100 10
2 pen 200 5
3 eraser 5 1000
4 book 500 12
Тем не менее, я получаю вывод
PS F:\tymalik\Malik\SEM 1\JAVA\ASS5> java SETBQ1
1 pencil 100 10
2 pen 200 5
3 eraser 5 1000
4 book 500 12
null
Я хотел бы знать, почему это последнее значение печатает ноль вместо значения? и каково было бы решение для обработки строковой переменной вне цикла while? Я был бы признателен за любую помощь в этом.
1 ответ
Последнее утверждение
System.out.println(s);
дисплеи null
так как это выходит за рамки while
петля. Вместо этого вы можете назначить другую переменную в цикле
String lastLine = null;
while ((s = item.readLine()) != null) {
System.out.println(s);
lastLine = s;
}
System.out.println(lastLine);