0
import java.util.LinkedList;

public class Queue {
    public static java.util.Queue<String> que = new LinkedList<String>();
    public static void main(String[] args) {


        System.out.println(que);

        que.add("a");
        que.add("b");
        que.add("c");
        que.add("d");

        System.out.println(que);

    }

}

在上面的代码中,这些值是临时存储的,当我运行第 1 次、第 2 次、第 3 次时,...输出将与以下相同:

[]
[a, b, c, d]

我需要队列数据应该在我第二次运行时永久存储,o/p 应该是

[a, b, c, d]
[a, b, c, d,a, b, c, d]

…………

如何做到这一点?请帮我 ?提前致谢...

4

2 回答 2

0

您可以将队列保存/读取到文件中:

public static void main(String[] args) throws IOException, ClassNotFoundException {
    File file = new File("queue");
    if (file.exists()) {
        try (ObjectInputStream is = new ObjectInputStream(new FileInputStream(file))) {
            que = (java.util.Queue<String>)is.readObject();
        }
    } else {
        que = new LinkedList<String>();
    }
    System.out.println(que);
    que.add("a");
    que.add("b");
    que.add("c");
    que.add("d");
    System.out.println(que);
    try (ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(file))) {
        os.writeObject(que);
    }
}
于 2013-08-01T10:53:15.560 回答
0

看来您正在寻找一些持久性。根据应用程序正在做什么,为什么不使用简单的文本文件在程序启动/退出时读取/写入队列的内容?

或者,如果您正在做一些更严肃的事情,您可以使用数据库。

于 2013-08-01T10:55:56.920 回答