我正在尝试用Java解压缩大约8000个gzip格式的文件.我的第一次尝试是使用GZIPInputStream,但性能很糟糕.
任何人都知道解压缩gzip档案的替代方案吗?我尝试了ZipInputStream,但它没有识别gzip格式.
先感谢您.
你需要使用缓冲.编写小块数据将是低效的.压缩实现采用Sun JDK中的本机代码.即使不是缓冲性能,通常也应该超过合理的文件或网络I/O.
OutputStream out = new BufferedOutputStream(new GZIPOutputStream(rawOut)); InputStream in = new BufferedInputStream(new GZIPInputStream(rawIn));
由于本机代码用于实现解压缩/压缩算法,因此在使用后要非常小心地关闭流(而不仅仅是底层流).我发现悬挂着大量的"Deflaters" 对性能非常不利.
ZipInputStream
处理文件档案,这与压缩流完全不同.