Я пишу программу, которая позволяет пользователю писать в текстовый файл, используя randomaccessfile. Пользователь вводит имя, возраст и адрес, и каждый из этих элементов занимает 20 байт, поэтому длина записи составляет 60 байт. Когда пользователь хочет найти запись, он вводит номер записи, программа переходит к поиску (n * 60), и эти 60 байтов сохраняются в массиве байтов, а затем выводятся. Это работает нормально, за исключением случаев, когда пользователю нужна последняя запись. Я не могу найти способ добавить дополнительный пробел после имени, возраста, адреса, чтобы заполнить 60 байт. Я получаю сообщение об ошибке java.io.EOFException: null из-за этого.
Вот код, который я использую для записи в файл:
while(!done){
junk.seek(y);
System.out.println("Enter name.");
junk.writeBytes(sc.nextLine());
y+=20;
System.out.println("Enter age.");
junk.seek(y);
junk.writeBytes(sc.nextLine());
y+=20;
System.out.println("Enter city.");
junk.seek(y);
junk.writeBytes(sc.nextLine());
y+=20;
System.out.println("Are you done?(Y/N)");
choice = sc.nextLine();
if(choice.equalsIgnoreCase("Y")){
done = true;
}
Итак, как я могу добавить дополнительное пустое пространство после последнего элемента в текстовом файле?