java - 从 ArrayList 写入文件

标签 java arraylist

我正在尝试将 ArrayList 写入 java 中的文件。这就是我在主课中所做的:

要将字符串写入 ArrayList,我这样做:

list.add(String);

然后,将其写入文件:

readWrite.writing(list);

列表为:List<String> list = new ArrayList<String>();

readWrite引用此类,我在其中定义了读/写文件的方法:

 public void writing(ArrayList listToWrite) throws IOException {
    fileOutPutStream = new FileOutputStream (file);
    write = new ObjectOutputStream (fileOutPutStream);
    for (int i=0; i<=listToWrite.size(); i++){
        write.writeObject(listToWrite.get(i));
    }
    write.close();
}

在控制台上尝试时,我收到此异常:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
    at java.util.ArrayList.rangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at //*I GET REFERENCED TO THIS LINE IN THE CODE ABOVE:* **write.writeObject(listToWrite.get(i));**

最佳答案

小心你的限制:使用 <=您将一项移至列表末尾。

for (int i=0; i<listToWrite.size(); i++){

再次注意 ArrayList本身是可序列化的。您可以将其写入文件而不循环:

write = new ObjectOutputStream(fileOutPutStream);
write.writeObject(listToWrite);
write.close();

关于java - 从 ArrayList 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20378759/

相关文章:

Android ArrayList 的 int

java - JMS 客户端选择器不起作用

java - 对 JButton 进行编程以在单击时创建对象

java - "Clear Memory"+ appWidget 崩溃后服务不重启

java - Spring Data Rest 的 url 格式为/foo/{id}/bar

android - 从 ArrayList<CustomClass> Android 中删除重复项

java - Java 中的点运算符和 static 关键字

java - 在 java 中处理 ArrayList 中的相等性

java - 写入数据到 System.in

java - 无法将字符串类型的数组列表转换为整数数组列表并将新列表传递给方法