java – 在GZIP文件中查找文件的大小
发布时间:2020-12-15 02:04:03 所属栏目:Java 来源:网络整理
导读:有没有办法找出原始文件的大小在 java中的GZIP文件中? 就像在,我有一个15 MB的文件a.txt已被GZip压缩到3GB的a.gz.我想知道a.gz中存在的a.txt的大小,而不解压缩a.gz. 解决方法 除了枪杀流之外,没有真正可靠的方法.您不需要保存解压缩的结果,因此您可以通过简
有没有办法找出原始文件的大小在
java中的GZIP文件中?
就像在,我有一个15 MB的文件a.txt已被GZip压缩到3GB的a.gz.我想知道a.gz中存在的a.txt的大小,而不解压缩a.gz. 解决方法
除了枪杀流之外,没有真正可靠的方法.您不需要保存解压缩的结果,因此您可以通过简单地读取和解码整个文件来确定大小,而不会占用解压缩结果的空间.
有一种不可靠的方法来确定未压缩的大小,即查看gzip文件的最后四个字节,即以小端序排序的模块232的未压缩长度. 这是不可靠的,因为a)未压缩的数据可能长于232个字节,并且b)gzip文件可能包含多个gzip流,在这种情况下,您将找到仅最后一个流的长度. 如果您控制gzip文件的源代码,您就知道它们由单个gzip流组成,并且您知道它们的压缩率低于232个字节,那么只有这样才能充满信心地使用最后四个字节. pigz(可以在http://zlib.net/pigz/找到)可以双向完成. pigz -l会很快给你不可靠的长度. pigz -lt将解码整个输入并为您提供可靠的长度. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 如何使用SQL在数据库中插入当前日期和时间?
- Java中泛型Class<T>、T与Class<?>、 Obje
- java – 动态更改JTree中特定节点的图标
- java – 流映射以便查找最新密钥的值
- Java 编程的动态性,第 7 部分: 用 BCEL 设计字节码--转载
- java – 在本地主机上避免带有Sockets的Windows防火墙弹出窗
- java – IntelliJ IDEA奇怪的foreach-loop警告
- java – 为什么我们可以拥有静态最终成员但是在内部类中不能
- Java中的泛型是否避免所有ClassCastExceptins?
- java – 在单个web.xml中添加多个servlet