本文实例讲述了C#实现Zip压缩目录中所有文件的方法。分享给大家供大家参考。具体实现方法如下:
using System; using System.IO; using System.Collections; using System.IO.Compression; using System.Collections.Generic; class FolderZip { private const long BUFFER_SIZE = 20480; static void main(string[] args) { string sourcepath=@"C:\tmp"; Queue<FileSystemInfo> Folders = new Queue<FileSystemInfo>(new DirectoryInfo(sourcepath).GetFileSystemInfos()); string copytopath = @"D:\temp"; copytopath = (copytopath.LastIndexOf(Path.DirectorySeparatorChar) == copytopath.Length - 1) ? copytopath : copytopath+Path.DirectorySeparatorChar + Path.GetFileName(sourcepath); Directory.CreateDirectory(copytopath); while (Folders.Count > 0) { FileSystemInfo atom = Folders.Dequeue(); FileInfo sourcefile = atom as FileInfo; if (sourcefile == null) { DirectoryInfo directory = atom as DirectoryInfo; Directory.CreateDirectory(directory.FullName.Replace(sourcepath,copytopath)); foreach (FileSystemInfo nextatom in directory.GetFileSystemInfos()) Folders.Enqueue(nextatom); } else { string sourcefilename = sourcefile.FullName; string zipfilename = sourcefile.FullName.Replace(sourcepath,copytopath) + ".zip"; if (!File.Exists(zipfilename)) { FileStream sourceStream = null; FileStream destinationStream = null; GZipStream compressedStream = null; try { // Read the bytes from the source file into a byte array sourceStream = new FileStream(sourcefilename, FileMode.Open, FileAccess.Read, FileShare.Read); // Open the FileStream to write to destinationStream = new FileStream(zipfilename, FileMode.OpenOrCreate, FileAccess.Write); // Create a compression stream pointing to the destiantion stream compressedStream = new DeflateStream(destinationStream, CompressionMode.Compress, true); long bufferSize = sourceStream.Length < BUFFER_SIZE ? sourceStream.Length : BUFFER_SIZE; byte[] buffer = new byte[bufferSize]; int bytesRead = 0; long bytesWritten = 0; while ((bytesRead = sourceStream.Read(buffer, 0, buffer.Length)) != 0) { compressedStream.Write(buffer, 0, bytesRead); bytesWritten += bufferSize; } } catch (ApplicationException) { continue; } finally { // Make sure we allways close all streams if (sourceStream != null) sourceStream.Close(); if (compressedStream != null) compressedStream.Close(); if (destinationStream != null) destinationStream.Close(); } } } } } }
希望本文所述对大家的C#程序设计有所帮助。
我有一个包含一些子目录的目录。我可以看到目录中带有“gci-Recurse *| %{ Write-host$_}”的文件。在这个给定的列表中有一些zip文件。我想在使用“展开存档”时将这些zip文件解压缩到一个名为zip文件的目录中。 如何将调用“gci-Recurse*|%{write host${}”与“Expand Archive”结合起来。
问题内容: 我有一个ZIP文件目录(在Windows计算机上创建)。我可以使用手动解压缩它们,但是如何通过外壳解压缩当前文件夹中的所有ZIP文件呢? 使用Ubuntu Linux服务器。 问题答案: 根据以下链接,这可以在bash中运行: 解压缩\ *。zip
本文向大家介绍python自动zip压缩目录的方法,包括了python自动zip压缩目录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python自动zip压缩目录的方法。分享给大家供大家参考。具体实现方法如下: 这段代码来压缩数据库备份文件,没有使用python内置的zip模块,而是使用了zip.exe文件 希望本文所述对大家的Python程序设计有所帮助。
本文向大家介绍Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法,包括了Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python3程序设计有所帮助。
本文向大家介绍asp.net C#实现解压缩文件的方法,包括了asp.net C#实现解压缩文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了asp.net C#实现解压缩文件的方法。一共给大家介绍了三段代码,一个是简单的解压缩单个zip文件,后一个可以解压批量的大量的但需要调用ICSharpCode.SharpZipLib.dll类了,最后一个比较实例可压缩也可以解压缩了分享给大
本文向大家介绍Python压缩解压缩zip文件及破解zip文件密码的方法,包括了Python压缩解压缩zip文件及破解zip文件密码的方法的使用技巧和注意事项,需要的朋友参考一下 python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件。 例如,在py脚本所在目录中,有如下文件: 将 readability 目录中的文件压缩到脚本所在目录的 readability.zip