如何使用像LIFO这样的文件?

时间:2013-02-04 00:29:34

标签: android file stack

我的应用程序每隔30分钟发送一个数据包。当无法发送数据包时,我想将它(一个简单的字符串)存储在名为error.log的文件中。当用户按下名为“restoreErrors”的按钮时,我想根据LIFO策略从error.log中提取数据包并尝试重新发送。

例如,文件error.log为:

String1
String2
String3

当用户按下“restoreErrors”按钮时,我需要按顺序加载保存的数据包:

while (!file.empty) {
  String str = loadUnsendedStringFromFile();
}

我的问题是使用像LIFO这样的文件,因为我可以正确读取字符串,但我需要删除当前提取的字符串(如堆栈模型中的POP)。

感谢。

编辑:好的,我将使用一个简单的列表来实现这一点,不需要为每个数据包错误存储在文件中...谢谢

1 个答案:

答案 0 :(得分:1)

使用ArrayList,您可以调用add方法将未发送的消息添加到列表中。然后你可以按照你想要的顺序发送它们(向上或向下,用一个简单的for循环)。然后,调用remove方法擦除发送的字符串,它将为您留下未发送的字符串