在java内,如何把一个集合对象输出到文件内,在把文件内输入到java中
时间: 2024-05-01 19:22:32 浏览: 7
在Java中,可以使用对象序列化(Object Serialization)来将一个集合对象输出到文件中,并且可以从文件中读取并重新构造对象。下面是一个简单的示例代码:
将集合对象输出到文件:
```java
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class SerializeCollection {
public static void main(String[] args) throws Exception {
// 创建一个ArrayList对象
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
// 将对象序列化到文件中
FileOutputStream fos = new FileOutputStream("collection.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(list);
oos.close();
fos.close();
System.out.println("集合对象已经序列化到文件 collection.ser 中");
}
}
```
将文件中的数据读取到Java中:
```java
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.util.ArrayList;
public class DeserializeCollection {
public static void main(String[] args) throws Exception {
// 从文件中反序列化对象
FileInputStream fis = new FileInputStream("collection.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
ArrayList<String> list = (ArrayList<String>) ois.readObject();
ois.close();
fis.close();
// 输出反序列化后的对象内容
System.out.println("反序列化后的集合对象:");
for (String str : list) {
System.out.println(str);
}
}
}
```
运行 SerializeCollection 后,会在当前目录下生成一个名为 collection.ser 的文件,里面存放着序列化后的集合对象。
运行 DeserializeCollection 后,会从 collection.ser 中读取对象并输出内容。