这里有两个正交的概念:
- 将文本转换为二进制文件,通常通过
OutputStreamWriter
- 压缩二进制数据,例如使用
GZIPOutputStream
因此,最终您将要:
- 创建一个
OutputStream
将结果写入所需结果的位置(例如,文件或通过ByteArrayOutputStream
- 包裹
OutputStream
在一个GZIPOutputStream
- 包裹
GZIPOutputStream
在OutputStreamWriter
使用适当的字符集(例如UTF-8) - 将文字写到
OutputStreamWriter
- 关闭编写器,这将刷新并关闭其他所有内容。
例如:
FileOutputStream output = new FileOutputStream(fileName);try { Writer writer = new OutputStreamWriter(new GZIPOutputStream(output), "UTF-8"); try { writer.write(text); } finally { writer.close(); } } finally { output.close(); }请注意,
output即使我们无法创建书写器,我也要关闭,但是
writer如果一切都成功了,我们仍然需要关闭,以便刷新所有内容并完成数据的写入。



