burada iki ortogonal kavram vardır:
- ikili veri sıkıştırmak, tipik olarak bir
OutputStreamWriter
- aracılığıyla, ikili bir metin dönüştürme, örneğin, için
GZIPOutputStream
kullanarak Yani sonunda size isteyeceksiniz:
- bir
ByteArrayOutputStream
- Wrap aracılığıyla size sonucu istediğiniz yere yazar bir
OutputStream
(örneğin bir dosya veya bellekte yarat o uygun bir karakter kümesi kullanılarak GZIPOutputStream
- Wrap bir
OutputStreamWriter
yılında GZIPOutputStream
yılında OutputStream
(örneğin UTF-8)
- metni yazın
OutputStreamWriter
- Her şeyi temizleyecek ve kapatacak olan yazmacını kapatın.
Örneğin
: Biz yazar oluşturmak için başarısız, ama biz hala her şey başarılı olursa writer
kapatmaya gerek bile her şeyi temizlemek için, output
kapatıyorum
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 ve verileri yazmayı bitir.
ByteArrayOutputStream'i kullanmayı denedim, ancak örneğiniz mükemmel çalışıyor. Teşekkür ederiz – Luistar15
@ user752679: Aslen ByteArrayOutputStream kullanarak bir örnek yazdım, ancak sorunuzu bir dosyaya yazmak istediğinizi söylediğiniz gibi ... –