问题标签 [zipfile]

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.

0 投票
3 回答
6078 浏览

binary - 受密码保护的 ZIP 文件的字节签名是什么?

我读过 ZIP 文件以以下字节开头:

参考:http ://www.garykessler.net/library/file_sigs.html

问题:是否有特定的字节序列表明 ZIP 文件已受密码保护?

0 投票
3 回答
7931 浏览

java - 从 byte[] (Java) 读取时提取 ZipFile 条目的内容

我有一个 zip 文件,其内容显示为 byte[]但原始文件对象不可访问。我想阅读每个条目的内容。我能够从字节的 ByteArrayInputStream 创建一个 ZipInputStream,并且可以读取条目及其名称。但是,我看不到提取每个条目内容的简单方法。

(我看过 Apache Commons,但也看不到简单的方法)。

更新@Rich的代码似乎解决了这个问题,谢谢

QUERY为什么这两个例子的乘数都是 * 4 (128/512 and 1024*4) ?

0 投票
2 回答
301 浏览

java - 检测 zipfiles 中的二进制文件和字符编码

从未知来源读取 zipfile(使用 Java ZipInputStream 或任何其他库)时,是否有任何方法可以检测哪些条目是“字符数据”(如果是编码)或“二进制数据”。并且,如果是二进制,则可以通过任何方式确定更多信息(MIME 类型等)

编辑ByteOrderMark (BOM) 是否出现在 zipentries 中,如果是这样,我们必须对其进行特殊操作。

0 投票
3 回答
9252 浏览

python - 使用 Python 提取文件名中包含无效字符的文件

我使用 python 的 zipfile 模块来提取 .zip 存档(让我们以http://img.dafont.com/dl/?f=akvaleir上的这个文件为例。)

它的输出:

这两个文件在提取后都无法访问,因为它们的文件名中有无效的编码字符。问题是 zipfile 模块没有指定输出文件名的选项。

但是,“unzip akvaleir.zip”很好地转义了文件名:

我尝试在我的 python 程序中捕获“unzip -l akvaleir.zip”的输出,这两个文件名是:

如何在不捕获“unzip -l akvaleir.zip”的输出的情况下获得正确的文件名,就像 unzip 命令所做的那样?

0 投票
1 回答
834 浏览

python - 写入时Python zipfile挂起

我正在尝试使用 Python 中的zipfile模块来创建简单的 zip 文件:

文件啊在我的工作目录下,是空的,touch a b c d e f g h用来测试。

将前 7 个项目添加到 zip 文件后,它会挂在最后一个项目上,但会继续写入 zip 文件,直到空间耗尽。这发生在我测试过的两个系统上,一个使用 Python 2.4.3,另一个使用 Python 2.6.2。如果文件数少于 6 个或 7 个,则创建 zip 文件没有任何问题。否则,它会在 7-15 个文件之间失败并开始将垃圾写入文件末尾。我试过改变:

到:

这有时让我可以再写几个文件,但也不可避免地会失败。

我究竟做错了什么?

0 投票
3 回答
2432 浏览

zip - 用于实时 zip 文件处理的开源 C 库

我正在寻找一个可以打开和读取 zipfiles 内容的 C/C++ 库(编写 zipfiles 不是一个严格的要求,但会很好)。

我希望能够打开一个文件,枚举文件,然后从 zipfile 中的文件中高效读取(未加密)数据。

我发现的所有库都非常特定于 WIN32。我需要可以在 Mac OS X 或 iPhone(PPC、X86 或 64 位)上运行的东西。

我不担心 Zip64(尽管再一次,那会很好)

编辑:请不要建议zlib。Zlib 是一个用于压缩/解压缩压缩数据的库。它对实际的压缩文件一无所知。

0 投票
1 回答
1032 浏览

java - 尝试使用 ZipFileSet 提取大 jar 时出现 OutOfMemory 错误

使用 jdk1.5,我在尝试提取相当大的 jar 时遇到 OutofMemoryError。但是,这不会发生在 jdk6 上。是因为 jdk1.5 和 jdk6 上的默认堆大小/permgen 设置不同,还是 jdk1.5 中的错误已在 jdk6 中修复?

0 投票
4 回答
23421 浏览

jquery - jQuery从一个按钮下载一个zip文件?

很尴尬我花了多少时间试图从一个按钮下载一个 zipfile....

我在这里需要一些防弹的东西,这就是我在这里问的原因,谢谢。

0 投票
1 回答
2048 浏览

glob - 使用 glob.glob 创建 Zip 文件的问题

我正在从一个文件夹(和子文件夹)创建一个 Zip 文件。它工作正常并且还创建了一个新的 .zip 文件,但是我在使用 glob.glob 时遇到了问题。它正在读取所需文件夹(源文件夹)中的所有文件并写入新的 zip 文件,但问题是它是添加子目录,而不是从子目录中添加文件。

我给用户一个选项来选择文件名和路径以及文件类型(Zip 或 Tar)。我在创建 .tar.gz 文件时没有遇到任何问题,但是当使用创建 .zip 文件时,就会遇到这个问题。

这是我的代码:

另外,如果我使用下面的代码:

现在第二个代码获取所有文件,即使它在文件夹/子文件夹中,创建一个新的 .zip 文件并在没有任何目录结构的情况下写入它。它甚至不需要主文件夹的目录结构,只需将主目录或子目录中的所有文件写入该 .zip 文件。

任何人都可以帮助我或建议我。我更喜欢 glob.glob 而不是使用第二个选项。

提前致谢。

问候, 阿卡什

0 投票
2 回答
2183 浏览

python - Python 2.6 不喜欢附加到 zip 文件中的现有档案

在我正在处理的程序的一些 Python 单元测试中,我们使用内存中的 zipfile 进行端到端测试。在 SetUp() 中,我们创建了一个简单的 zip 文件,但在某些测试中,我们想要覆盖一些档案。为此,我们执行“zip.writestr(archive_name, zip.read(archive_name) + new_content)”。就像是

问题是这在 Python 2.4 和 2.5 中运行良好,但不是2.6。在 Python 2.6 中,这在打印行上失败,并显示“BadZipfile:目录“bar”和标题“foo”中的文件名不同。”

它似乎正在读取正确的文件栏,但它认为它应该改为读取 foo。

我不知所措。我究竟做错了什么?这不支持吗?我尝试在网上搜索,但找不到类似问题的提及。我阅读了 zipfile 文档,但找不到任何相关内容(我认为是),特别是因为我正在使用文件名字符串调用 read()。

有任何想法吗?

先感谢您!