在java中写入和读取文件(使用ArrayList)

在java中写入和读取文件(使用ArrayList),java,list,file-io,arraylist,Java,List,File Io,Arraylist,基本上,我有几个超类,它们的几个子类组成了一个小程序。至于文件处理,因为我使用的是数组,所以我使用了writeobject和readobject方法。但是现在,我已经将所有数组都更改为ArrayList,但是当涉及到文件处理时,它显然不像以前那样工作了 我得到的错误有两个具体部分,第一个是: for(i=0;i<100;i++) { customerOOS.writeObject(Customer[i]);//since we no longer have (Customer[]) arr

基本上,我有几个超类,它们的几个子类组成了一个小程序。至于文件处理,因为我使用的是数组,所以我使用了writeobject和readobject方法。但是现在,我已经将所有数组都更改为ArrayList,但是当涉及到文件处理时,它显然不像以前那样工作了

我得到的错误有两个具体部分,第一个是:

for(i=0;i<100;i++)
{
customerOOS.writeObject(Customer[i]);//since we no longer have (Customer[]) array, and instead Custarray of arraylist
}
。 .

第二部分:

for (i=0;i<100;i++)
{
Customer[i] = (Customer)customerOIS.readObject();//same problem again
}
那么,我应该用什么来替换这些部件,这样它就可以工作了。或者我应该使用一种完全不同的方式来处理ArrayList吗?

ArrayList是List的一种实现,它由一个动态数组(对象的容器)支持

这个容器有非常具体的文档方法,允许您管理元素列表

为了从列表中检索元素,您需要使用


我会花一些时间学习API文档,并通读教程,因为这些都是非常基本的概念

谢谢!我的问题是,对于第二个循环,它正在添加一个元素,我们在哪里使用语句中声明的i,在循环中?您不需要这样做。ArrayList是一个动态数组,这意味着它可以自动动态地增长和收缩。花一些时间阅读和跟踪,特别是我假设geti部分有问题,我在执行它时遇到了这个错误。java.lang.IndexOutOfBoundsException:Index:0,Size:0位于java.util.ArrayList.RangeCheckArrayList.java:547位于java.util.ArrayList.getArrayList.java:322位于FileHandling.mainFileHandling.java:39@SBOY问题是,清单上什么都没有。我还将代码更新为括号,以防止可能的溢出,并根据下面的编译错误将输入对象的预期数量括起来:“找不到符号方法getint。”
for(i=0;i<Customer.size();i++)
{
    customerOOS.writeObject(Customer.get(i));
}
for (i = Customer.size(); i < 100; i++) {
    customerOOS.writeObject(null);
}
for (i=0;i<100;i++)
{
    Customer.add((Customer)customerOIS.readObject());
}