8
我初學java,我需要像this:的java:保存字符串作爲gzip文件
String2GzipFile (String file_content, String file_name)
String2GzipFile("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "lorem.txt.gz")
我無法弄清楚如何做到這一點。
我初學java,我需要像this:的java:保存字符串作爲gzip文件
String2GzipFile (String file_content, String file_name)
String2GzipFile("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "lorem.txt.gz")
我無法弄清楚如何做到這一點。
這裏有兩個正交的概念:
OutputStreamWriter
GZIPOutputStream
所以最終你會想:
ByteArrayOutputStream
OutputStream
其寫入到任何你想要的結果(例如文件或內存中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
,如果一切順利,這是爲了刷新一切,完成數據寫入。
查看GZIPOutputStream - 您應該可以像使用其他輸出流一樣將其用於寫入文件 - 它只會自動以gzip壓縮格式將其寫入。
我正在嘗試使用ByteArrayOutputStream,但您的示例完美地工作。謝謝 – Luistar15
@ user752679:我最初使用ByteArrayOutputStream寫出了一個示例,但由於您的問題表明您想將其寫入文件中,因此... –