我正在编写一个程序,允许用户使用 randomaccessfile 写入文本文件。用户输入姓名、年龄、地址,每一项都是20字节,所以记录长度是60字节。当用户要搜索记录时,输入记录号,程序进入seek(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;
}
所以基本上我怎样才能在文本文件的最后一项之后添加额外的空白空间?