使用Java将队列写入属性文件

时间:2014-04-22 14:43:28

标签: java arrays properties stack queue

有一种简单的方法可以在Java中将队列写入文件,以便可以回读吗?

我的程序目前以逗号分隔的格式将数组保存到属性文件中。这很容易,因为数组可以迭代。

我的程序还包含队列。我是队列的唯一选择,从队列中删除每个项目并在我想将队列的所有元素写入文件时重新添加它们?

实现此目的的最简单方法是什么?

我理想地希望将信息保存在我写入其他数组的相同属性文件中。

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

FileOutputStream fos = null;
ObjectOutputStream os = null;

try {
    fos = new FileOutputStream(YOUR_FILE_NAME);
    os = new ObjectOutputStream(fos);

    for(YourObjectType current : YourQueue){
        os.writeXXX(current);  //Where XXX is the appropriate write method depending on your data type
        os.writeChars(",");  //Since you mentioned wanting a comma delimiter..
    }
} catch(IOException e){
   e.printStackTrace(); 
} finally {
    if(fos != null) fos.close();
    if(os != null) os.close();
}

答案 1 :(得分:0)

最简单的解决方案是将队列编写为单个集合。

public static void write(String filename, Collection queue) throws IOException {
    try(ObjectOutputStream oos = new ObjectObjectStream(new FileOutputStream(filename))) {
        oos.writeObject(queue);
    }
}

阅读本文

public static void read(String filename, Collection toAddTo) throws IOException, ClassNotFoundException {
    try(ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filename))) {
        toAddTo.addAll((Collection) ois.readObject());
    }
}