什么是如何在C#中压缩文件夹的示例(简单代码)? 更新: 我没有看到命名空间ICSharpCode 。 我下载了ICSharpCode.SharpZipLib.dll但我不知道在哪里复制该DLL文件。 我需要做什么才能看到这个命名空间? 你有链接的MSDN示例压缩文件夹,因为我读了所有的MSDN,但我什么都找不到。 好,但我需要下一个信息。 我应该在哪里复制ICSharpCode.SharpZipLib.dll在Visual Studio中查看该命名空间?
我想下载一个zip文件,里面包含了一个文件夹,里面有很多用于我的发音的文件audio。 我使用ASIHTTPRequest来下载它,我的问题是“我不知道如何解压该文件”。 我试图使用SSZipArchive和ZipArchive两个都是基于minizip但我得到错误,当我编译代码Undefined symbols for architecture i386: "_OBJC_CLASS_$_ZipArchive", referenced from: objc-class-ref in AppDelegate.o 。 那么你能给我一些build议吗?
在尝试使用java.util.zip压缩压缩文件时,遇到了很多我解决的问题。 现在,我终于得到了一些输出,我很难得到“正确的”输出。 我有一个提取的ODT文件(目录会更适合描述),我做了一些修改。 现在我想压缩该目录以重新创buildODT文件结构。 压缩目录并重命名以.odt结束工作正常,所以应该没有问题。 主要的问题是我失去了目录的内部结构。 一切都变得“平坦”了,我似乎也找不到保留原有多层结构的方法。 我将不胜感激一些帮助,因为我似乎无法find问题。 以下是相关的代码片段: ZipOutputStream out = new ZipOutputStream(new FileOutputStream( FILEPATH.substring(0, FILEPATH.lastIndexOf(SEPARATOR) + 1).concat("test.zip"))); compressDirectory(TEMPARCH, out); SEPARATOR是系统文件分隔符, FILEPATH是原始ODT的文件path,我将覆盖它,但是这里没有做testing。 我只需写入同一个目录下的test.zip文件。 private void compressDirectory(String directory, ZipOutputStream out) throws IOException { File fileToCompress = new File(directory); // list contents. String[] contents = fileToCompress.list(); // iterate through directory and compress files. for(int i = […]
我试图创build一个ZIP存档与一个简单的演示文本文件使用MemoryStream如下: using (var memoryStream = new MemoryStream()) using (var archive = new ZipArchive(memoryStream , ZipArchiveMode.Create)) { var demoFile = archive.CreateEntry("foo.txt"); using (var entryStream = demoFile.Open()) using (var streamWriter = new StreamWriter(entryStream)) { streamWriter.Write("Bar!"); } using (var fileStream = new FileStream(@"C:\Temp\test.zip", FileMode.Create)) { stream.CopyTo(fileStream); } } 如果我运行这个代码,档案文件本身被创build,但foo.txt不是。 但是,如果我直接用文件streamreplaceMemoryStream ,则会正确创build存档: using (var fileStream = new FileStream(@"C:\Temp\test.zip", FileMode.Create)) […]
真的停留在尝试编写代码来解压缩iPhone上的文件或目录。 以下是我正在使用的一些示例代码来尝试解压简单的文本文件。 它解压缩文件,但它的腐败。 (void)loadView { NSString *DOCUMENTS_FOLDER = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; NSString *path = [DOCUMENTS_FOLDER stringByAppendingPathComponent:@"sample.zip"]; NSString *unzipeddest = [DOCUMENTS_FOLDER stringByAppendingPathComponent:@"test.txt"]; gzFile file = gzopen([path UTF8String], "rb"); FILE *dest = fopen([unzipeddest UTF8String], "w"); unsigned char buffer[CHUNK]; int uncompressedLength = gzread(file, buffer, CHUNK); if(fwrite(buffer, 1, uncompressedLength, dest) != uncompressedLength || ferror(dest)) { NSLog(@"error writing data"); } else{ […]
我使用java创build了zip文件,如下所示 import java.io.*; import java.util.zip.*; public class ZipCreateExample { public static void main(String[] args) throws IOException { System.out.print("Please enter file name to zip : "); BufferedReader input = new BufferedReader (new InputStreamReader(System.in)); String filesToZip = input.readLine(); File f = new File(filesToZip); if(!f.exists()) { System.out.println("File not found."); System.exit(0); } System.out.print("Please enter zip file name : "); […]
Windows XP / Vista / 2003/2008内置的ZIP压缩是否可以编写脚本? 我必须从BAT / CMD文件中调用什么可执行文件? 或者是否可以用VBScript来做到这一点? 我意识到这是可能的使用WinZip , 7-Zip和其他外部应用程序,但我正在寻找的东西,不需要安装外部应用程序。
我很确定这不是重复的,所以只需要一分钟。 我如何编程(C#)压缩文件(在Windows中)而不使用任何第三方库? 我需要一个本地Windows调用或类似的东西; 我真的不喜欢开始一个过程的想法,但如果我绝对必须这样做。 一个PInovke电话会好得多。 否则,让我告诉你我真正想要完成的事情:我需要让用户在一个请求中下载一组文档。 任何想法如何做到这一点?
我需要一个在Android中使用GZip压缩string的例子。 我想发送一个string像“你好”的方法,并获得下面的压缩string: BQAAAB + LCAAAAAAABADtvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee ++ 997o7nU4n99 // P1xmZAFs9s5K2smeIYCqyB8 / fnwfPyLmeVlW / W + GphA2BQAAAA == 然后我需要解压缩它。 有谁能给我一个例子,并完成以下方法? private String compressString(String input) { //… } private String decompressString(String input) { //… } 谢谢, 更新 根据主席的回答 ,现在我有以下四种方法。 Android和.net压缩和解压缩方法。 除了一种情况,这些方法是相互兼容的。 我的意思是他们在前三个州是兼容的,但在第四个州是不兼容的: 状态1)Android.compress < – > Android.decompress:( OK ) 状态2)Net.compress < – > Net.decompress:( OK ) 状态3)Net.compress – […]
Web服务通常需要压缩几个大文件供客户端下载。 最明显的方法是创build一个临时的zip文件,然后或者将其echo给用户,或者将其保存到磁盘并redirect(将来有一段时间将其删除)。 但是,这样做有缺点: 密集的CPU和磁盘颠簸的初始阶段,导致… 在档案准备的同时,对用户的相当大的初始延迟 每个请求的内存占用量非常高 使用大量的临时磁盘空间 如果用户取消下载的一半,初始阶段(CPU,内存,磁盘)使用的所有资源将被浪费 像ZipStream-PHP这样的解决scheme通过将数据按文件铲入Apache文件来改善这一点。 但是,结果仍然是高内存使用率(文件全部加载到内存中),而且磁盘和CPU使用率也很高。 相比之下,请考虑下面的bash代码片段: ls -1 | zip -@ – | cat > file.zip # Note -@ is not supported on MacOS 在这里, zip以stream模式运行,导致内存占用less。 一个pipe道有一个整体的缓冲区 – 当缓冲区满时,操作系统暂停写入程序(pipe道左侧的程序)。 这里确保zip运行速度与cat输出速度一样快。 那么最好的方法就是做同样的事情:用web服务器进程replacecat ,将zip文件stream式传输给用户。 与仅传输文件相比,这会产生很小的开销,并且会有一个没有问题的,非尖锐的资源configuration文件。 你怎么能在LAMP栈上实现这个function?