我正在寫一個程序,允許用戶使用randomaccessfile寫入文本文件。用戶輸入姓名,年齡和地址,每個項目爲20個字節,因此記錄長度爲60個字節。當用戶想要查找記錄時,他們輸入一個記錄號,程序去查找(n * 60),然後這60個字節被存儲到一個字節數組中,然後被輸出。除了當用戶想要最後一條記錄時,這工作正常。我無法找到在名稱,年齡,地址之後添加額外空間以填充60個字節的方法。由於這個,我得到錯誤java.io.EOFException:null。RandomAccessFile:在最後一項之後添加空格?
這裏是我用來寫文件的代碼:
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;
}
所以基本上我怎麼能在文本文件的最後一個項目之後添加額外的空白?
我發現使用像#這樣的填充字符修復了這個問題,而不是空的空間。但是,謝謝,我只是選擇了20個字節,因爲這是我第一次,謝謝! – TheEyesHaveIt
問題解決了嗎? – 2013-10-18 11:22:10
是非常多 – TheEyesHaveIt