簡體   English   中英

zip4j ZipFile getInputStream 總是返回大小為 1 的字節數組

[英]zip4j ZipFile getInputStream always returns byte array with size 1

以下代碼始終生成大小為 1 的字節數組,有什么想法嗎?

FileHeader fh = (FileHeader) packageFile.getFileHeaders().get(1);
InputStream inputStream = packageFile.getInputStream(fh);
byte[] bytes=new byte[inputStream.available()];

zip文件很好!

你能指望什么? 也許您對available()理解不正確。 該方法返回一個估計值,但取決於實現。

來自文檔;

請注意,雖然 InputStream 的某些實現將返回流中的總字節數,但許多不會。 使用此方法的返回值來分配用於保存此流中所有數據的緩沖區永遠是不正確的。

看起來您正在定義一個緩沖區bytes來讀取數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM