• Asp.Net2.0使用SharpZipLib


      /// <summary>
            /// 解压功能(解压压缩文件到指定目录)
            /// </summary>
            public static string Unzip(string srcFile, string destDir) //srcFile是指要解压的文件名,destDir是指目标目录.
            {
                if (!File.Exists(srcFile))
                {
                    return "找不到文件" ;
                }
                if (!destDir.EndsWith("\\")) destDir += "\\"; //规范目录格式

                ZipInputStream zipIn = new ZipInputStream(File.OpenRead(srcFile)); //定义新的ZipInputStream类
                ZipEntry entry; //定义输入压缩文件中的文件
                Directory.CreateDirectory(destDir); //创建目标目录
                while ((entry = zipIn.GetNextEntry()) != null) //判断是否解压完毕了
                {
                    string fileName = entry.Name.Replace("/", "\\"); //规范文件名
                    if (fileName.EndsWith("\\")) Directory.CreateDirectory(destDir + fileName); //判断是目录还是文件
                    else if (fileName != String.Empty) //如果是文件且文件名不为空,则解压
                    {
                        FileStream streamWriter = File.Create(destDir + fileName); //定义一个FileStream
                        int size; //用于判断单个文件是否解压完毕
                        byte[] data = new byte[2048]; //定义缓冲区大小
                        try
                        {
                            while (true)
                            {
                                size = zipIn.Read(data, 0, data.Length); //获得这次读取的信息的长度
                                if (size > 0) streamWriter.Write(data, 0, size); //如果size>0,表示有信息
                                else break; //如果size==0,表示文件已经读取完毕
                            }
                        }
                        catch
                        {}
                        streamWriter.Close(); //关闭streamWriter
                    }
                }
                zipIn.Close(); //关闭zipIn
                return "解压成功";
            }

  • 相关阅读:
    git(常用命令)思维导图...
    有关gitlab的神秘操作.....version&&domain设置...
    Gitlab不小心关闭了sign-in,无法登录web的坑。。。
    聊聊CMSIS-RTOS是什么东东
    c#接口interface学习
    没有内置小鹤双拼的rime输入法就是差劲
    stm32中的型号对比——为什么很少用STM32F2,F3?
    stm32软件编程的框架及注意事项——rtos篇
    modbus-poll和modbus-slave工具的学习使用——modbus协议功能码3的解析(及欧姆龙温控器调试笔记)
    keil中error: #70: incomplete type is not allowed—解决方法
  • 原文地址:https://www.cnblogs.com/xjyggd/p/1417094.html
Copyright © 2020-2023  润新知