2017-02-07 18 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

可能有用!谢谢 !我正在寻找算法帮助,而不是代码:) –