java:将字符串保存为gzip文件 [英] java: save string as gzip file
本文介绍了java:将字符串保存为gzip文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是java初学者,我需要像这 :
String2GzipFile(String file_content,String file_name)
String2GzipFile(Lorem ipsum dolor sit amet,consectetur adipiscing elit。 .txt.gz)
我无法弄清楚如何做。
解决方案
这里有两个正交的概念:
- 通常通过
OutputStreamWriter
- 压缩二进制数据,例如使用
GZIPOutputStream
p>
- 创建一个
OutputStream
,它写入到任何你想要的结果内存ByteArrayOutputStream
- 在<$ c $中包含
OutputStream
c> GZIPOutputStream - 将
GZIPOutputStream
包含在OutputStreamWriter
使用适当的字符集(例如UTF-8) - 将文本写入
OutputStreamWriter
- 关闭作者,会刷新并关闭所有其他内容。
例如:
FileOutputStream output = new FileOutputStream(fileName);
try {
Writer writer = new OutputStreamWriter(new GZIPOutputStream(output) 8));
try {
writer.write(text);
} finally {
writer.close();
}
} finally {
output.close();
}
请注意,我正在关闭输出
即使我们无法创建写入器,但如果一切都成功,我们仍然需要关闭 writer
,以便刷新所有内容并完成数据写入。 / p>
I'm java beginner, I need something like this:
String2GzipFile (String file_content, String file_name)
String2GzipFile("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "lorem.txt.gz")
I cant figure out how to do that.
解决方案
There are two orthogonal concepts here:
- Converting text to binary, typically through an
OutputStreamWriter
- Compressing the binary data, e.g. using
GZIPOutputStream
So in the end you'll want to:
- Create an
OutputStream
which writes to wherever you want the result (e.g. a file or in memory via aByteArrayOutputStream
- Wrap that
OutputStream
in aGZIPOutputStream
- Wrap the
GZIPOutputStream
in anOutputStreamWriter
using an appropriate charset (e.g. UTF-8) - Write the text to the
OutputStreamWriter
- Close the writer, which will flush and close everything else.
For example:
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();
}
Note that I'm closing output
even if we fail to create the writer, but we still need to close writer
if everything is successful, in order to flush everything and finish writing the data.
这篇关于java:将字符串保存为gzip文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文