HTML5技术

免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七) - 彭泽0902(4)

字号+ 作者:H5之家 来源:H5之家 2016-12-14 12:00 我要评论( )

压缩单个文件 ZipFile( string fileToZip, string zipedFile, int compressionLevel, int blockSize){ if ( string .IsNullOrEmpty(fileToZip)){ throw new ArgumentNullException(fileToZip);} if ( string .IsNul

压缩单个文件 ZipFile(string fileToZip, string zipedFile, int compressionLevel, int blockSize) { if (string.IsNullOrEmpty(fileToZip)) { throw new ArgumentNullException(fileToZip); } if (string.IsNullOrEmpty(zipedFile)) { throw new ArgumentNullException(zipedFile); } if (!File.Exists(fileToZip)) { + fileToZip + ); } try { using (var zipFile = File.Create(zipedFile)) { using (var zipStream = new ZipOutputStream(zipFile)) { using (var streamToZip = new FileStream(fileToZip, FileMode.Open, FileAccess.Read)) { , StringComparison.Ordinal) + 1); var zipEntry = new ZipEntry(fileName); zipStream.PutNextEntry(zipEntry); zipStream.SetLevel(compressionLevel); var buffer = new byte[blockSize]; try { int sizeRead; do { sizeRead = streamToZip.Read(buffer, 0, buffer.Length); zipStream.Write(buffer, 0, sizeRead); } while (sizeRead > 0); } catch (Exception ex) { throw new Exception(ex.Message); } streamToZip.Close(); } zipStream.Finish(); zipStream.Close(); } zipFile.Close(); } } catch (IOException ioex) { throw new IOException(ioex.Message); } catch (Exception ex) { throw new Exception(ex.Message); } }

   2. 压缩单个文件:

压缩单个文件 ZipFile(string fileToZip, string zipedFile) { if (string.IsNullOrEmpty(fileToZip)) { throw new ArgumentException(fileToZip); } if (string.IsNullOrEmpty(zipedFile)) { throw new ArgumentException(zipedFile); } if (!File.Exists(fileToZip)) { + fileToZip + ); } try { using (var fs = File.OpenRead(fileToZip)) { var buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); fs.Close(); using (var zipFile = File.Create(zipedFile)) { using (var zipStream = new ZipOutputStream(zipFile)) { , StringComparison.Ordinal) + 1); var zipEntry = new ZipEntry(fileName); zipStream.PutNextEntry(zipEntry); zipStream.SetLevel(5); zipStream.Write(buffer, 0, buffer.Length); zipStream.Finish(); zipStream.Close(); } } } } catch (IOException ioex) { throw new IOException(ioex.Message); } catch (Exception ex) { throw new Exception(ex.Message); } }

   3.压缩多层目录:

压缩多层目录 ZipFileDirectory(string strDirectory, string zipedFile) { if (string.IsNullOrEmpty(strDirectory)) { throw new ArgumentException(strDirectory); } if (string.IsNullOrEmpty(zipedFile)) { throw new ArgumentException(zipedFile); } using (var zipFile = File.Create(zipedFile)) { using (var s = new ZipOutputStream(zipFile)) { ZipSetp(strDirectory, s, ""); } } }

    4.递归遍历目录:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 【.net 深呼吸】细说CodeDom(2):表达式、语句 - 东邪独孤

    【.net 深呼吸】细说CodeDom(2):表达式、语句 - 东邪独孤

    2016-12-13 12:00

  • Qt实现FlatUI样式(开源) - 飞扬青云

    Qt实现FlatUI样式(开源) - 飞扬青云

    2016-12-13 11:01

  • .NET Core 首例 Office 开源跨平台组件(NPOI Core) - Savorboard

    .NET Core 首例 Office 开源跨平台组件(NPOI Core) - Savorboard

    2016-12-08 13:00

  • 高品质开源工具Chloe.ORM:支持存储过程与Oracle - 我叫So

    高品质开源工具Chloe.ORM:支持存储过程与Oracle - 我叫So

    2016-12-08 12:00

网友点评
(