我正在尝试将 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/