2017-02-07 17 views
0

我想申請的「先入後出」的策略在文本文件中FILO使用Java語言編寫的策略

假設我有一個包含一些「三圍」文件,我不希望它含有超過10行,我訪問到它來:

  • 如果< 10 =插入值和在其它支持
  • 如果> = 10 =插入一個值寫線和只寫的最後10行(並刪除其他)

爲簡單起見,假設我的文件看起來像 (不充電有些吃不消了,我只是把一些換行,因爲它是在Java)

文件:

1 "\n" 2 "\n" 3 "\n" 4 "\n" 5 "\n" 6 "\n" 7 "\n" 8 "\n" 9 "\n" 10 

現在我想在文件中插入新的數據,並獲得最後的10,新的數據是:

我的文件應該是這樣:

2 "\n" 3 "\n" 4 "\n" 5 "\n" 6 "\n" 7 "\n" 8 "\n" 9 "\n" 10 "\n" 11 

有沒有辦法在java中做到這一點?

+1

您在第一行的「先入後出」的規定。但是在其餘的描述和你給出的例子中,你首先要做的是先做。你要哪個? – ControlAltDel

+0

不是一個簡單的,如果這就是你的意思。文件按字節順序存儲,而不是一系列的行。您必須閱讀整個文件,根據需要刪除條目並將全部內容寫回。你可能想看看循環文件和隨機訪問文件。 – Paul

+0

@ControlAltDel:不是它的第一個輸入,插入的最後一個值將被最後一個值拒絕 –

回答

0

當然可以。

  • 寫,讀取該文件到一個有用的數據結構,例如一個方法的List<Integer>
  • 然後操縱該數據結構的內容,例如使用List.remove(int index)以移除第一條目;然後追加一個新條目
  • 然後寫該數據結構返回到您的文件
+0

可能有用!謝謝 !我正在尋找算法幫助,而不是代碼:) –