2009-12-31 65 views
0

我想打一個包含三個功能如下GUI應用程序:如何通過java將數據寫入文件?

  • 添加記錄
  • 編輯記錄
  • 刪除記錄

記錄包含兩個字段 - 名稱和行業

應用程序有兩個限制

  • 您不能使用數據庫來存儲信息。你必須使用一個平面文件。
  • 對於每個添加/刪除操作,不應該重寫全部文件。

所以,我的問題是下面提到:

Q1。哪種文件格式會更好? (.xml或.csv或.txt或其他)

Q2。如何在不重寫整個文件的情況下執行添加/刪除操作?

+2

聞起來像功課給我。 – inkedmn 2009-12-31 08:42:18

+0

http://stackoverflow.com/questions/181408/best-way-to-write-bytes-in-the-middle-of-a-file-in-java的副本? – chburd 2009-12-31 08:48:05

回答

0

鑑於整個文件一定不能被重寫,我會建議使用RandomAccessFile,它允許你只讀和寫你想要的記錄。

對於文件格式,使用固定長度記錄的二進制文件:ex:20個字符的名稱,30個專業文件。 這將允許您使用RandomAccessFile的seek()方法直接訪問數據。

2

你問題的第二部分是在這裏找到答案:Best Way to Write Bytes in the Middle of a File in Java

至於格式 - 我會盡可能簡單的事情去了。你不需要處理一堆標記處理,就像使用RandomAccessFile一樣,你將直接進入字節位置。一個固定寬度的樣式格式會很好,所以根據記錄號可以計算文件中記錄或字段的起始位置,而不必讀取文件中的所有內容。然後這些字段將被填充到具有空格或其他合適字符的固定寬度。