问题标签 [zip]

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 投票
6 回答
83878 浏览

java - 使用 java.util.zip.ZipOutputStream 时 zip 文件中的目录

假设我有一个文件 t.txt、一个目录 t 和另一个文件 t/t2.txt。如果我使用 linux zip 实用程序“zip -r t.zip t.txt t”,我会得到一个 zip 文件,其中包含以下条目(unzip -l t.zip):

如果我尝试使用 java.util.zip.ZipOutputStream 复制该行为并为目录创建一个 zip 条目,java 会引发异常。它只能处理文件。我可以在 zip 文件中创建 at/t2.txt 条目并将使用 t2.txt 文件内容添加到其中,但我无法创建目录。这是为什么?

0 投票
6 回答
6086 浏览

c++ - 用于闭源应用程序的 C++ 压缩 (zip) 库

请为商业闭源应用程序推荐一个 C++ 压缩 (zip) 库。所以,不是 GPL 许可证。

这是我的日常工作...

0 投票
8 回答
14896 浏览

java - Zip/Jar 文件中的二进制差异

似乎从完全相同的源文件构建 jar 或 zip 总是会产生不同的文件。我使用 java jar 命令以及 ant 中的 jar 和 zip 任务都尝试了这个。

这似乎是由于新的 jars/zip 将时间戳设置为每个存储文件的当前时间。

有没有办法强制 zip 工具简单地使用文件系统上文件的时间戳来确保从完全相同的源构建的 jar 看起来完全相同?

0 投票
3 回答
355 浏览

python - 对接受 zip 文件进行处理的守护程序的建议

我想写一个守护进程:

  • 从包含 zip 文件路径的队列(sqs、rabbit-mq 等)中读取消息
  • 更新数据库中的记录,例如“此作业正在处理”
  • 读取上述存档的内容并将一行插入数据库,其中包含从找到的每个文件的文件元数据中挑选出的信息
  • 将每个文件复制到 s3
  • 删除 zip 文件
  • 将作业标记为“完成”
  • 读取队列中的下一条消息,重复

这应该作为服务运行,并由当有人通过 Web 前端上传文件时排队的消息启动。上传者不需要立即看到结果,但上传会在后台相当方便地处理。

我对 python 很流利,所以首先想到的是编写一个带 twisted 的简单服务器来处理每个请求并执行上述过程。但是,我从来没有写过这样可以在多用户上下文中运行的东西。它不会每分钟或每小时处理数百次上传,但如果它可以一次处理几个,那就太好了,合理的。我也不太熟悉编写多线程应用程序和处理阻塞等问题。

人们过去是如何解决这个问题的?我可以采取哪些其他方法?

提前感谢您的帮助和讨论!

0 投票
4 回答
3458 浏览

python - 估计 zip 大小/创建时间

我需要使用 Python zipfile 模块或 unix 命令行实用程序按需创建 ZIP 存档。

要压缩的资源通常 > 1GB 并且不一定对压缩友好。

我如何有效地估计它的创建时间/大小?

0 投票
1 回答
1451 浏览

python - 如何使用 python 创建受密码保护的 zipfile?

从 python2.6 开始,现在更容易从受密码保护的 zip 中提取数据。但是如何在纯 python 中创建受密码保护的 zipfile 呢?

0 投票
2 回答
1150 浏览

c# - 写出 zip 文件在 IE7 中不起作用

我继承了一个旧应用程序,该应用程序将 zip 文件存储在数据库中,需要检索该文件。在 Firefox 中工作正常,我可以打开 zip 并且其中的每个文件都很好。当我在 IE7 中运行它时,出现以下错误。

Internet Explorer 无法从 localhost 下载 ProductContentFormImage.aspx。

Internet Explorer 无法打开此 Internet 站点。请求的站点不可用或找不到。请稍后再试。

我正在使用下面的代码。

0 投票
2 回答
233 浏览

java - 在 Java 中压缩目录会影响使用相同文件的其他进程吗?

我正在使用 java.util.zip 库和 ZipOutputStream 来创建目录的 zip 文件及其下的所有文件和目录。在我的应用程序中,另一个线程可能会在压缩期间访问这些相同的文件。我不是文件压缩(或线程安全,就此而言)的专家,所以我的问题是,在其他东西访问这些文件时压缩目录会影响任一进程吗?

0 投票
2 回答
9558 浏览

linux - 在 linux 机器上创建自解压 zip 存档

由于一些我不会涉及的限制,我必须在 linux 机器上创建一个自解压 ZIP 存档。生成的存档应该只能在 Windows 上执行。这是可能吗?如果是这样,什么工具可以完成这项工作?

背景:当用户从我的 linux 机器上下载安装包时,我需要用某个键预先填充该安装包。我只在运行时知道那个键;我的想法是使用该密钥编写一个简单的 .xml 文件,然后将带有该 xml 文件的 .msi 安装程序压缩到一个自解压存档中,然后将该文件发送到浏览器。如果您对如何实现它有其他想法,我也很想听听

0 投票
4 回答
3254 浏览

php - 在 PHP 中通过 shell_exec 压缩文件:路径问题

我正在开发一个网络备份服务部分,其中允许用户下载一个 zip 文件,其中包含他们从备份的列表中选择的文件。

压缩过程是通过 shell_exec 命令完成的。为此,我已授予 apache 用户 no-password sudo 对 zip 命令的权限。

我的问题是,因为我不能对包含用户备份文件的文件夹执行“sudo cd /path/to/user/files”,所以我需要指定要压缩的文件的完整绝对路径,然后进入我不想要的 zip 文件。

这就是我的意思:

用户“test1”备份了他们的文件,这些文件存储如下
/home/backups/test1/my pics/pic1.jpg
/home/backups/test1/my pics/pic2.jpg
/home/backups/test1/my图片/pic3.jpg
/home/backups/test1/hello.txt
/home/backups/test1/music/band/song.mp3

当这些文件被压缩时,它们会保留完整的路径,但我只想显示:
my pics/pic1.jpg
my pics/pic2.jpg
my pics/pic3.jpg
hello.txt
music/band/ song.mp3

有没有办法告诉 zip 截断路径,或者为每个文件指定一个自定义路径?
或者有什么方法可以将工作目录更改为用户的根备份文件夹,这样我就可以简单地指定相对文件路径。

感谢您的阅读,希望您能走到这一步,这一切都是有道理的!