反序列化对象并将其添加到数组中

时间:2012-06-17 18:32:22

标签: java arrays for-loop deserialization

现在我在Java 1.6中创建一个地址簿。现在我如何设置它是当你添加一个联系人它被保存到一个数组。我在编写数组时没有问题,但是在阅读它时,我不知道如何获取我之前保存的每个对象,并将其再次加载到数组中。

您知道吗:addbook是我的文件,它是一个txt文件。 Array是我用来存储对象的数组。我正在使用的排序是一个插入排序,按名称对联系人进行排序。如果我没有涵盖其他变量名称,以及类似的东西,我可以澄清一下。

最后,为了澄清,我的问题是询问如何读取保存到文件中的数组。 这是我的阅读代码:

try {
    FileInputStream in = new FileInputStream(addBook);
    ObjectInputStream readIn = new ObjectInputStream(in);

    array = readIn.readObject();
    readIn.close();


    Sorts.insertionSort(array);

    model.removeAllElements();

    for (int i = array.length - 1; i > 0; i--) {
        model.addElement(((Book) array[i]).getContact());
    }
    comboBox.setModel(model);

} catch (Exception e) {
     e.printStackTrace();
}

1 个答案:

答案 0 :(得分:2)

ObjectInputStream.readObject返回Object。如果没有cast Object,则无法将Comparable[]分配给array = (Comparable[]) readIn.readObject()