java数组列表的序列化存储例题
时间: 2023-10-01 10:11:24 浏览: 45
下面是一个简单的例子,展示了如何使用Java的ArrayList类进行序列化和存储:
```java
import java.io.*;
import java.util.ArrayList;
public class SerializeArrayList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
try {
FileOutputStream fileOut = new FileOutputStream("list.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(list);
out.close();
fileOut.close();
System.out.println("Serialized data is saved in list.ser");
} catch (IOException i) {
i.printStackTrace();
}
ArrayList<String> deserializedList = null;
try {
FileInputStream fileIn = new FileInputStream("list.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
deserializedList = (ArrayList<String>) in.readObject();
in.close();
fileIn.close();
} catch (IOException i) {
i.printStackTrace();
return;
} catch (ClassNotFoundException c) {
System.out.println("ArrayList class not found");
c.printStackTrace();
return;
}
System.out.println("Deserialized ArrayList:");
for (String s : deserializedList) {
System.out.println(s);
}
}
}
```
这个例子创建了一个包含三个字符串的ArrayList,将其序列化并存储在名为“list.ser”的文件中。然后,它从该文件中反序列化ArrayList并打印出结果。
请注意,要进行序列化和反序列化,需要使用Java的ObjectOutputStream和ObjectInputStream类。此外,存储文件的文件名可以根据需要进行更改。