Moo*_*ors 5 java serialization
我正在尝试读取存储在*.ser文件中的所有对象,并将它们存储在一个对象数组中.如何获取存储在该文件中的对象数(这样我可以声明数组很number_of_objects长)?
我检查了API,但无法找到理想的功能.
-edit-
部分代码:
Ser[] objTest2 = new Ser[number_of_objects];
for(int i=0; i<=number_of_objects, i++) {
objTest2[i] = (Ser)testOS2.readObject();
objTest2[i].printIt();
}
Run Code Online (Sandbox Code Playgroud)
你想看的是班级ArrayList。
它基本上是一个动态增长的数组。
您可以向其中添加项目,如下所示:
ArrayList list = new ArrayList();
list.add(someObject);
list.add(anotherBoject);
Run Code Online (Sandbox Code Playgroud)
当您向其中添加新项目时,该列表将会增长。所以您不必提前知道尺寸。
如果需要取出List末尾的数组可以使用toArray()List的方法。
Object[] arr = list.toArray(new Object[list.size()]);
Run Code Online (Sandbox Code Playgroud)
编辑:
这是您需要的一般实现:
List<Ser> objTest2 = new ArrayList<Ser>();
while (testOS2.available > 0) {
Ser toAdd = ((Ser)testOS2.readObject());
toAdd.printIt();
objTest2.add(toAdd);
}
Run Code Online (Sandbox Code Playgroud)
*我认为这不是available()一个可靠的测试来判断是否有更多字节可供读取。
| 归档时间: |
|
| 查看次数: |
2866 次 |
| 最近记录: |