博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 解压及压缩文件源代码
阅读量:5325 次
发布时间:2019-06-14

本文共 2253 字,大约阅读时间需要 7 分钟。

using System.IO;using System.Windows.Forms;using ICSharpCode.SharpZipLib.Zip;using ICSharpCode.SharpZipLib.Checksums;   public void unZip(string strSouceFile, string strDestFile)        {            if (!Directory.Exists(strDestFile))                Directory.CreateDirectory(strDestFile);            using (ZipInputStream zip = new ZipInputStream(File.OpenRead(strSouceFile)))            {                ZipEntry theEntry;                string fileName;                FileStream streamWriter;                while ((theEntry = zip.GetNextEntry()) != null)                {                    fileName = Path.GetFileName(theEntry.Name);                    if (fileName != String.Empty)                    {                        streamWriter = new FileStream(strDestFile + fileName, FileMode.Create, FileAccess.Write, FileShare.Read | FileShare.Write);                        int size = 2048;                        byte[] data = new byte[2048];                        while (true)                        {                            size = zip.Read(data, 0, data.Length);                            if (size > 0)                            {                                streamWriter.Write(data, 0, size);                            }                            else                            {                                break;                            }                        }                        streamWriter.Close();                    }                }                MessageBox.Show("解压文件成功!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } } public void ZipFile(string strSouceFile, string strDestFile) { using (ZipOutputStream stream = new ZipOutputStream(File.Create(strDestFile))) { stream.SetLevel(5); byte[] buffer = new byte[0x1000]; ZipEntry entry = new ZipEntry(Path.GetFileName(strSouceFile)); entry.DateTime = DateTime.Now; stream.PutNextEntry(entry); using (FileStream stream2 = File.OpenRead(strSouceFile)) { int num; do { num = stream2.Read(buffer, 0, buffer.Length); stream.Write(buffer, 0, num); } while (num > 0); MessageBox.Show("压缩文件成功!

"); } stream.Finish(); stream.Close(); } }

须要引用的dll,下载下面页面的dll
http://download.csdn.net/detail/sky_cat/7236675

转载于:https://www.cnblogs.com/jhcelue/p/6953395.html

你可能感兴趣的文章
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
C语言栈的实现
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>
自建数据源(RSO2)、及数据源增强
查看>>
2018icpc徐州OnlineA Hard to prepare
查看>>
使用命令创建数据库和表
查看>>
【转】redo与undo
查看>>
安卓当中的线程和每秒刷一次
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
标识符
查看>>
内存地址对齐
查看>>
创新课程管理系统数据库设计心得
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
[转载] redis 的两种持久化方式及原理
查看>>