问题标签 [sharpziplib]

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 回答
306 浏览

macos - 在 Mac 上使用 ICSharp 压缩文件

我正在使用 mono 和 monobjc 开发一个在 Mac OS X 10.6 上运行的应用程序。我正在使用 ICSharpCode.SharpZip 将一些文件添加到 zip 文件中。代码如下 -

有时,并非总是如此,PutNewEntry 代码会引发以下异常 -

System.NotSupportedException:在 ICSharpCode.SharpZipLib.Zip.ZipConstants.ConvertToArray (System.String str) [0x00000] 在 ICSharpCode.SharpZipLib.Zip.ZipConstants.ConvertToArray (System.String str) [0x00000] 在 ICSharpCode 的 System.Text.Encoding.GetEncoding (Int32 代码页) [0x00000] 中不支持 CodePage 437 .SharpZipLib.Zip.ZipConstants.ConvertToArray (Int32 flags, System.String str) [0x00000] in :0 at ICSharpCode.SharpZipLib.Zip.ZipOutputStream.PutNextEntry (ICSharpCode.SharpZipLib.Zip.ZipEntry entry) [0x00000] in :0 at (包装远程调用与检查)ICSharpCode.SharpZipLib.Zip.ZipOutputStream:PutNextEntry (ICSharpCode.SharpZipLib.Zip.ZipEntry)

我有以下两个问题-

  1. 是什么导致上述异常。
  2. 看起来 ICSharp 可能不是最佳选择。有什么更好的选择?
0 投票
1 回答
825 浏览

c# - sharpziplib 压缩文件要在外部解压缩

我有一个场景,我想使用 SharpZipLib 压缩电子邮件附件。然后最终用户将打开附件并解压缩附件。

最初使用 SharpZipLib 压缩的文件是否会被其他程序为我的最终用户轻松解压缩?

0 投票
1 回答
2228 浏览

c# - 如何在 C# 中使用 SharpZipLib 提取多卷 zip 文件?

我有一个文件,Setup1.cab,它被分成我使用 7zip 归档的 Setup1.zip.001 和 Setup1.zip.002。一旦这些卷到达目的地,我希望能够使用 C# 将该文件从两个档案中提取到它们将驻留的同一目录中。这是 SharpZipLib 能够做到的,还是我应该使用其他工具?

否则,有没有办法使用 C#(或其他工具 - 我打开了!)将两者结合到一个 zip 文件中,然后使用 SharpZipLib 将其解压缩?谢谢!

编辑:7zip 不会安装在目标机器上。另外,我愿意使用不同的方法来归档原始文件;我只需要它在 500MB 以下的块中,原始文件是 570MB。

0 投票
1 回答
9854 浏览

c# - SharpZipLib - 将文件夹/目录添加到 zip 存档

从示例中,我很好地掌握了如何提取 zip 文件。

在几乎每个示例中,识别 ZipEntry 何时是目录的方法如下

现在很好,所有(遇到的目录,创建它),当文件被提取时,目录是可用的。

我可以将文件添加到 zip 文件中,但如何添加文件夹?我知道我将遍历目录,添加遇到的文件(并且它们的 ZipEntry.Name 属性已正确填充),但是如何将 ZipEntry 添加到存档并指示 ZipOutputStream 它是一个目录?

0 投票
1 回答
2048 浏览

c# - SharpZipLib Deflater 创建错误数据

原始压缩数据可以正确膨胀回来。但是,如果我膨胀数据,放气,再膨胀,结果数据是不正确的(例如简单的数据提取,修改和再次压缩 - 只有现在测试时没有修改发生,所以我可以测试它)。

结果数据以某种方式“损坏”。开始(大约)40 个字节是可以的,然后是错误数据的“块”(原始数据的残余仍然存在,但丢失了许多字节)。

更改压缩级别无济于事(设置 NO_COMPRESSION 会以某种方式创建不完整的流)。

问题很简单:为什么会这样?

编辑:我的错,我错误地重写了原始压缩数据的前几个字节。这不是 SharpZipLib 的错,而是我的错。

0 投票
2 回答
1641 浏览

c# - 解压bz2文件时如何修复System.UnauthorizedAccessException?

我试图通过使用 ICSharpCode.SharpZipLib 的代码解压缩 bz2 文件。

似乎无论我在哪里制作文件,即使我可以完全访问它,我仍然会收到此异常。非常感谢任何帮助。

0 投票
1 回答
1049 浏览

c# - C# SharpZipLib 将文件直接写入 zip

我的进程需要创建一个包含大量文件的 zip 文件(这些文件也是由进程创建的)。我可以直接将文件添加到 zip 文件中,而不必创建临时文件、压缩它们然后删除吗?

0 投票
3 回答
302 浏览

c# - asp.net 中的错误,但应用程序运行顺利

我收到一个错误:

对此有任何想法吗?

0 投票
1 回答
416 浏览

c# - 位于 IsolatedStorage 中的 Zip 文件

我的应用程序需要在 Silverlight 中下载多个文件,并且因为我不想多次询问用户是否允许保存文件,所以我先将文件保存在 IsolatedStorage 中,然后我想将它们全部压缩到一个文件中并询问一次用于保存权限。

因此我使用 SharpZipLib 来压缩位于 IsolatedStorage 中的多个文件,问题是 SharpZipLib 只接受文件地址为 ZipEntery:

如您所知,由于文件位于独立存储中,我没有它们的地址。

我在Create a Zip from/to a memory stream or byte array上看到了示例,但我不能将它用于多个文件。

请帮助我找到一种使用 SharpZipLib 的方法,或者向我介绍另一种无需多次请求许可即可下载多个文件的方法。

0 投票
3 回答
145 浏览

c# - 什么时候值得花费执行时间来压缩文件?

我们在一个应用程序中使用#ziplib(在此处找到),该应用程序为偶尔连接的客户端应用程序从服务器同步文件。

我的问题是,使用这种算法,什么时候值得花费执行时间来进行文件的实际压缩?据推测,如果只同步一个小文本文件,压缩时间将不足以减少传输的大小,实际上会减慢整个过程。

由于压缩时间配置文件将根据文件数量、文件类型和这些文件的大小而改变,有没有一种好方法可以通过编程方式发现何时应该压缩文件以及何时应该按原样传递它们? 在我们的应用程序中,文件几乎总是照片,尽管照片的类型和大小可能会发生变化。

我还没有编写实际的文件传输逻辑,但希望使用它System.Net.WebClient来执行此操作,但我也愿意使用替代方案来节省执行时间。

更新:随着讨论的发展,“压缩还是不压缩”是错误的问题吗?是否应该将重点放在System.Net.WebClient用压缩的 WCF 流量或类似的东西替换旧方法?该实用程序的数据库同步部分已经使用 Microsoft Synchronization Framework 和 WCF,因此我当然对此持开放态度。我们现在可以做的任何限制网络流量的事情对我们的客户来说都是巨大的。