怎么使用GZIPOutputStream将List<>对象写进文件中
时间: 2024-03-02 20:54:15 浏览: 74
list类实现文件读写
和将数组对象写入文件类似,将 `List` 对象写入文件的过程也需要用到 `GZIPOutputStream`。不过需要注意的是,这里的 `List` 对象也必须是可序列化的。
以下是示例代码:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.GZIPOutputStream;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
list.add("!");
try {
FileOutputStream fos = new FileOutputStream("list.gz");
BufferedOutputStream bos = new BufferedOutputStream(fos);
GZIPOutputStream gos = new GZIPOutputStream(bos);
ObjectOutputStream oos = new ObjectOutputStream(gos);
oos.writeObject(list);
oos.flush();
oos.close();
gos.close();
bos.close();
fos.close();
System.out.println("List object has been written to file.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的示例代码中,我们创建了一个 `List` 对象,将其序列化并写入到 `GZIPOutputStream` 中。注意,这里使用的是 `ObjectOutputStream`,因为 `List` 对象是一个复杂的数据结构,需要进行序列化。
阅读全文