【发布时间】:2012-06-17 18:32:21
【问题描述】:
现在我正在用 Java 1.6 创建一个地址簿。现在我如何设置它是当您添加一个联系人时,它会保存到一个数组中。我写数组没有问题,但是在读取它时,我不知道如何获取我以前保存的每个对象,然后再次将其加载到数组中。
你知道吗:addbook 是我的文件,它是一个 txt 文件。数组是我用来存储对象的数组。我使用的排序是按名称对联系人进行排序的插入排序。如果我没有涵盖其他变量名称之类的东西,我可以澄清一下。
最后,为了澄清,我的问题是问我如何读取我保存到文件中的数组。 这是我的阅读代码:
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();
}
【问题讨论】:
-
这是作业吗?什么不工作?永远不要像那样吞下
Exception,至少将e.printStackTrace()放在catch 块中。 -
@Jeffery 这是我的编程课的总结。行不通的是这一行:“test = readIn.readObject();”我得到的错误是“这条线有多个标记”
-
array的类型是什么?Object、Object[]或Book[]? -
@Jeffrey 是一个可比较的数组。这是我正在使用的声明:“Comparable[] array = new Comparable[arraySize];” arraySize 是一个整数,在我添加联系人时会向上计数。
标签: java arrays for-loop deserialization