zoukankan      html  css  js  c++  java
  • C# 解压及压缩文件源代码

    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
  • 相关阅读:
    STM32 之 USB IP(USB模块) 详解(转)
    USB 协议分析之 HID 设备(转)
    Hibernate项目用Maven创建(转)
    eclipse查看hadoop中文件出现乱码
    用spring+hibernate+struts 项目记录以及常用的用法进等
    hibernate之处理视图
    Hadoop组件之-HDFS(HA实现细节)
    hadoop2.x NameNode 的共享存储实现
    Hadoop-2.X HA模式下的FSImage和EditsLog合并过程
    jQuery中读取json文件示例代码
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6953395.html
Copyright © 2011-2022 走看看