Я пытаюсь настроить цикл while, который будет считываться из RandomAccessFile и останавливаться, когда он достигнет конца файла. Но каждый раз, когда я пытаюсь запустить программу, я получаю сообщение об ошибке.Чтение из файла произвольного доступа в Java
RandomAccessFile raf = new RandomAccessFile(filename, "rw");
final int EOF = -1;
while(raf.readInt() != EOF){
id = raf.readInt();
existingMileage = raf.readInt();
gasCost = raf.readInt();
ndays = raf.readInt();
rate = raf.readInt();
totalCharge = raf.readInt();
discount = raf.readInt();
tax = raf.readInt();
netCharge = raf.readInt();
returnMileage = raf.readInt();
}
Это ошибка я получаю:
Exception in thread "main" java.io.EOFException
at java.io.RandomAccessFile.readInt(Unknown Source)
at TakeHome.TakeHome.fileReaderMethod(TakeHome.java:127)
at TakeHome.TakeHome.main(TakeHome.java:20)
Вы уверены, что ваш 'filename' является правильный путь к файлу? – tomishomo
Это похоже на то, что ваш файл был прерван до того, как он получит это количество int, чтобы прочитать – gerrytan