问题标签 [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 投票
1 回答
985 浏览

windows-vista - 如何获得 NANT zip 任务的输出以在 XP 上解压缩?

我在我的 Vista 开发机器上编写了以下 Nant 脚本,并且对 Nant zip 任务的输出感到满意,因为我可以在遇到任何问题时解压缩它:

我将 Nant 脚本签入到 SVN 中,并且构建服务器毫无问题地压缩了我的文件。我测试并发现我也可以在我的 Vista 机器上解压缩这些文件。Life和Nant很好,对吧?好吧,其他人在 Windows XP Pro 上解压缩这些文件时会收到以下消息:

压缩(zipped)文件夹无效或损坏。

我将在我的机器上生成的文件带到 XP 机器上并得到了相同的消息。我注意到的一个区别是,当我使用 XP 的内置工具打开 zip 文件时,它显示每个文件的压缩率为 100%。在 Vista 上使用 jZip,每个文件都有不同的、非 100% 的比例。

有没有人经历过这样的事情?是否有一些我不知道的设置可以使 Nant zip 任务的输出在 XP 上解压缩?Nant 对我来说工作得很好,如果这个愚蠢的解压缩问题让 XP 用户搞砸了,我会很失望。

0 投票
4 回答
3154 浏览

perl - 您如何以编程方式比较两个存档文件的内容?

我正在做一些测试,以确保我使用脚本文件创建的多合一 zip 文件将产生与我必须手动单击并通过 Web 界面创建的几个 zip 文件的内容相同的输出。因此,zip 将具有不同的文件夹结构。

当然,我可以手动提取它们并使用我强大的眼球技术来扫描它们,甚至更懒惰我可以编写一个脚本来做到这一点,但在我投入更多时间并被我的老板指责为公司时间抢劫之前,我在问如果有更好的方法来做到这一点?

顺便说一下,我正在使用 perl LAMP 堆栈。谢谢。

0 投票
4 回答
1644 浏览

java - 更有效地从 Jar 中提取文件

我正在扩展一个实用程序类,它捆绑了一组图像和 .xml 描述文件。目前我将所有文件保存在一个目录中并从那里加载它们。该目录如下所示:



这是我当前的构造函数。它快如闪电,可以完成我需要它做的事情。(我已经删除了一些错误检查以使其更易于阅读):

为了 webstart 和清洁,我一直在尝试从 Jar 加载这些资源。我已经让它工作了,但是加载时间从瞬间变成了几秒钟,这是不可接受的。这是我尝试过的代码(再次,错误检查被剥离):

(这不是做我想做的事情的最好方法,它是一个模型,看看这个想法是否有效。它没有。两个 for 循环绝不是问题的根源;它是创建所有那些减慢它的 InputStreams 的过程)


除了我在这里尝试过的方式之外,任何人都知道使用 .jar 文件的更好方法吗?这是AngelCodeFont API。如果绝对有必要,我可以为此提交一个补丁,但我宁愿不必这样做。在我看来,可能有一种方法可以做我想做的事,我只是不熟悉它。

我并不是非常反对快速将 jar 转储到临时目录然后从那里读取文件,但是如果有办法直接从 jar 中快速读取,我宁愿这样做。

另外:压缩根本不是问题。我使用罐​​子的唯一原因是包装问题。

0 投票
1 回答
374 浏览

ruby - Ruby 的 ZipInputStream 搞砸了我的行尾是怎么回事?

我会很高兴 ZipInputStream 对存储在文件中的行结尾采取不雅的自由,如果它至少能让它们适合我存储文件的平台。不幸的是,我从 zip 中提取了一个文本文件(.txt、.cpp..etc.),并且 \n (0x0A) 被替换为 \r\n (0x0d0a),正如您可以想象的那样,这是导致我很麻烦。

是否可以设置一个标志来告诉它完全避免更改行尾或使用我选择的一个?

谢谢。

(我已经检查了 zip 文件、我的创建等。我已经使用其他 zip 工具将其解压缩并验证它是否已正确存档。我已经使用 rdebug 逐步完成了我的项目并看到 ZipInputStream 调用读取() 返回 \r\n 作为行尾。)

0 投票
5 回答
11079 浏览

php - 使用php压缩大文件

我有一个 php 表单,其中有一堆复选框,所有这些复选框都包含指向文件的链接。一旦用户点击他们想要的复选框(文件),它就会压缩文件并强制下载。

我有一个简单的 php zip 强制下载工作,但是当其中一个文件很大或者如果有人说选择整个列表进行压缩和下载时,我的服务器就会出错。

我知道我可以增加服务器大小,但是还有其他方法吗?

0 投票
5 回答
935 浏览

php - 任何人都知道 PHP 系统命令行 zip 的一个很好的例子

这是另一个基于给我的答案的问题。

我需要的是能够根据网络用户选择的内容对大文件进行系统命令行 zip,然后提示它们或强制下载。这可以做到吗?

0 投票
3 回答
3640 浏览

perl - 如何在 Perl 中创建 Zip 存档?

在过滤我想要包含的文件列表后,我需要创建一个 Zip 存档。最好我希望该模块在 Windows 和 Linux 中都可以工作。

由于我需要过滤文件列表,我真的不想使用外部程序。我也不想引入外部依赖项,这样我就可以将脚本编译成 Windows 上的单个可执行文件(使用ActiveState PDK)。

我已经尝试过的

到目前为止,我一直使用在CPAN上找到的Archive::Zip ,但它在使用非 ASCII 文件名的 Windows 机器上存在一个重大错误:文件名在存档中被损坏,因为它们没有被翻译成 unicode。

有一个错误报告为此提交,但它已经超过 10 个月没有更新,并且在模块文档中,开发人员相当无益(“修复您的计算机或摆脱 Windows”类型)。

更新:
感谢 brian 和 Alan Haggai Alavi 的澄清,似乎已经投入了足够的精力Archive::Zip来尽快解决这些错误,并最终在 Windows 中拥有一个功能齐全的 zip 模块。

0 投票
3 回答
364 浏览

c# - 为什么我只能在调试模式下访问这个 zip 文件?

我遇到了一个对我来说没有多大意义的问题。我有一个 ASP.NET 应用程序可以在调试模式下完美运行,但在正常运行时会引发访问被拒绝错误。我已经为 ASPNET 帐户和应用程序模拟对 webapp 正在调用的文件的完全控制权限的帐户(使用 Process 对象)。

我确定引发错误的文件位于 zip 文件中,并且我正在运行的进程不会在除 zip 文件之外的任何地方查找它们。但似乎在我解压缩 zip 文件之前,我无法对其内容设置权限。这对其他人有意义吗?有人知道解决方案吗?

0 投票
5 回答
2221 浏览

c# - C# 将文本/数据流式传输到 zip/gpg 而不是向应用程序传递文件名?

我目前有一个用 C# 编写的应用程序,它可以获取文件并使用 gpg.exe 对其进行加密

我要做的是,而不是 1. 创建文件(通常来自数据库查询) 2. 加密文件 3. 删除未加密的文件

我想要

  1. 将信息收集到内存中(到字典或列表或其他任何东西中)
  2. 将文本/数据流式传输到 gpg.exe 以输出加密文件

我已经研究了 pipestream,将标准输入重定向到 gpg 进程等,但我还没有找到一种方法来欺骗 gpg.exe 接受流式传输的文本/数据而不是硬盘驱动器上的文件。

最初想如果我可以为 gpg 做,我也可以为 Zip 做,但我想知道这是否可能。找到了一些似乎与 php 相关的 popen 参考,但与 c# 无关。

本质上,我希望以编程方式执行以下操作,其中 text.txt 是内存中流式传输到应用程序的内容,而不是硬盘驱动器上的实际文件。

C:\Program Files\GNU\GnuPG>类型 C:\test.txt | zip > plubber.zip C:\Program Files\GNU\GnuPG>类型 C:\test.txt | gpg -er "mycomp_operations" > Test.pgp

感谢您提供的任何帮助:)

托尼!

0 投票
5 回答
10003 浏览

php - 从 zip 文件中提取数据 (PHP)

我有一个来自Net Tuts网站的教程,该教程用于上传 zip 文件并将文件中的数据提取到服务器中。

直接从网页复制和粘贴代码不起作用,在处理脚本的中途出现错误。

这可能与我使用的 PHP 版本有关吗?这是它卡住的代码:

第 6 行:$zip = new ZipArchive();

我正在使用 PHP 版本 4.3.9。