![](/img/trans.png)
[英]Java GZIPOutputStream appears to allocate unnecessary byte arrays?
[英]Convert GZIPOutputStream to byte array
我已經有一個已經定義的 GZIPOutput 流。 現在我想將其轉換為字節數組。
我嘗試了下面的代碼。 但它給出了一個錯誤。
GZIPOutputStream zipStream = createGZIP();
byte[] compressedData = zipStream.toByteArray();
錯誤:無法解析方法“toByteArray()”
檢查GZIP 壓縮到一個字節數組,但它正在輸入一個字節 []。 我需要轉換我已經擁有的 gzip。
我有一個已經定義的 GZIPOutput 流。 現在我想將其轉換為字節數組。
您需要修改創建GZIPOutputStream
的方法,以便將其發送到ByteArrayOutputStream
。
或者,在關閉您(可能)寫入壓縮數據的文件的FileOutputStream
后,打開它進行輸入並將其讀入字節數組。
關於您目前的嘗試:
GZIPOutputStream zipStream = createGZIP();
byte[] compressedData = zipStream.toByteArray();
這種方法行不通。
GZIPOutputStream
提供用於檢索壓縮數據的 API 方法。GZIPOutputStream
提供用於檢索GZIPOutputStream
正在寫入的流的 API 方法。 (即使有,大多數OutputStream
類型也不允許您檢索數據......)通常,最好查找並閱讀您使用的類的 javadoc。 通過猜測他們提供的方法進行編程很可能導致您在猜測錯誤時浪費時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.