问题标签 [apache-commons-compress]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 无法从 Tar,0kb 大小,Java 中提取单个文件
我已经创建了一个应用程序,它将从 tar-archive 中提取单个文件。应用程序正确读取 *.tar,但是当我尝试提取文件时,应用程序只是创建具有正确文件名的新文件......文件为空(0kb)。所以...我可能只是创建新文件而不是提取...
在这一点上,我完全是一个初学者......
java - 使用 Apache Commons Compress 库以非机器依赖的方式将文件和目录添加到 Tar 存档
我正在开发一个需要创建 tar 存档以计算他的哈希的应用程序。但是我遇到了一些问题:
- 不同机器的tar不一样,那么计算出来的hash不一样
- 我无法正确添加目录
- 如果我添加一个 zip 文件,最后,在 tar 中,我的 zip 文件中的内容:/
我已经阅读了 SO 中的不同帖子和关于 apache 的专门教程,以及 apache commons compress jar 的源测试代码,但我没有得到正确的解决方案。
有没有人可以找到我的代码不正确的地方?
谢谢你。
java - 支持 Deflate64 的 Java 压缩库
寻找 Apache Commons Compress ( https://commons.apache.org/proper/commons-compress/ ) 的替代压缩 java 库。尝试读取使用 deflate64 的“ENHANCED_DEFLATED”压缩的 zip 条目时,Commons Compress 会引发错误。这是引发异常的示例摘录。
这是堆栈跟踪的相关部分:
在org.apache.commons.compress.archivers.zip.ZipFile.getInputStream(ZipFile.java:404) 在ZippingAround.doRecurseZip(ZippingAround.java:23)
有谁知道另一个可以替代 Commons Compress 的 zip 库,或者可能与它一起用于 deflate64 压缩方法?
java - 如何将 ArchiveEntry 转换为 InputStream?
我正在阅读tar.gz
档案使用
ArchiveEntry entry = tarArchiveInputStream.getNextEntry();
问题:如何将此ArchiveEntry转换为 anInputStream
以便我可以实际读取文件并将其处理为 a String
?
java - commons-compress TarArchiveEntry.getName() 文件路径无效
我正在使用此处另一篇文章中的 apache commons compress example 从 tar 中提取文件,但它失败了:
这只发生在我传递给它的一些 vmware ova 文件(顺便说一句是 tar 文件)上,而不是所有 ova 文件;其他人工作正常。
这是代码:
看起来问题是在 tarEntry.getName() 尝试设置 destFile 的值时引入的。从使用调试器单步执行后,destPath 会拾取额外的无法显示的字符以及路径中的单词“someone”:
对于我可以成功解压缩的 ova 文件,desPath 的值看起来很正常:
“某人”文本是一个不错的线索,因为当我使用 hexdump -C 查看它时,我在两个 tar (ova) 文件头中都看到了这个文本。但是,它们不在同一个位置。
我觉得这里的解决方案与确定偏移量是存储文件名的位置并从该特定偏移量读取有关。这是我最好的猜测,但我不太擅长阅读十六进制。
需要注意的是,我的目标是读取 ova 中的 ovf xml 文件,并且我不控制 ova 的创建......所以我无法事先解决标题中的问题。ova 文件本身功能完善,我还可以使用 tar -xvf test.ova 从命令行成功解压它们。事实上,如果我从命令行重新打包 tar 文件,上面的代码就可以工作了。
java - 用于嵌套 ZIP 文件处理的 Java 实用程序库
我知道 Oracle在其网站上注明了 ZIP/GZIP 文件压缩器/解压缩器方法。但是我有一个场景,我需要扫描并找出是否涉及任何嵌套的 ZIP/RAR。例如以下情况:
我知道 apache commons compress 包和 java.util.zip 是广泛使用的包,commons compress 实际上迎合了 java.util.zip 中缺少的功能,例如在进行 zipouts 时的一些字符设置。但是我不确定的是用于通过嵌套 zip 文件递归的实用程序,并且 SO 上提供的答案并不是这样做的很好的例子。我尝试了以下代码(我从 Oracle 博客获得),但正如我所怀疑的,嵌套目录递归失败,因为它根本找不到文件:
可能是我做错了什么——或者使用了错误的工具。我的目标是确定是否有任何文件或嵌套的 zip 文件具有我不允许的文件扩展名。这是为了确保我可以阻止我的用户上传被禁止的文件,即使他们正在压缩文件。我还可以选择使用可以进行递归解析的 Tika(使用 Zukka Zitting 的解决方案),但我不确定是否可以使用元数据来按我的意愿进行检测。
任何帮助/建议表示赞赏。
java - Apache Common Compress - 拆分 Zip 文件
我已经使用 Apache Common Compress 库成功压缩或解压缩文件。现在的问题是,压缩文件需要通过 FTP/电子邮件发送,并且 10 MB 是要发送的文件的最大限制。
- 所以我需要知道如何生成自定义大小的文件?
- 如何解压缩文件?
谢谢。
java - 使用 Apache Commons Compress 读取大型压缩文件
我正在尝试使用Apache Commons Compress读取 bz2 文件。
以下代码适用于小文件。但是对于一个大文件(超过 500MB),它会在读取数千行且没有任何错误后结束。
还有另一种读取大型压缩文件的好方法吗?
java - 在 7zip 存档中查找特定文件
我正在使用 Apache Commons Compress 来解析 7zip 存档中的条目。我需要能够找到一个特定的文件(例如“thisfile.xml”),我想知道除了遍历存档中的每个条目之外是否还有更好的方法。
我目前正在做的事情是这样的:
我并不特别想遍历存档中的所有条目,因为它们可能很多。
任何想法将不胜感激
nullpointerexception - apache compress解压时为什么会出现NoPointerExcepeion?
我生成 tar.gz 文件并发送 2 个其他 4 个解压缩,但他们的程序上面有错误(他们的程序不是我创建的),只有一个文件有这个错误。
但是当在我的电脑和他们的电脑上使用命令'tar -xzvf ***'时,没有出现问题......
所以我想 2 知道我在下面的程序中出了什么问题: