zoukankan      html  css  js  c++  java
  • C# zip/unzip with DotNet framework 4.5

    add reference System.IO.Compression.FileSystem

        public class ZipHelper
        {
            public static string UnZip(string inputFile)
            {
                string outDir = System.Environment.CurrentDirectory + "\executor\";
                if (UnZip(inputFile, outDir))
                    return outDir;
                else
                    return "";
            }
    
    
            public static bool UnZip(string inputFile, string outputDir)
            {
                bool result = false;
                try
                {
                    //ZipFile.ExtractToDirectory(inputFile, outputDir);
                    using (ZipInputStream s = new ZipInputStream(File.OpenRead(inputFile)))
                    {
    
                        ZipEntry theEntry;
                        while ((theEntry = s.GetNextEntry()) != null)
                        {
    
                            Console.WriteLine(theEntry.Name);
    
                            string directoryName = Path.GetDirectoryName(theEntry.Name);
                            //string directoryName = outputDir;
                            string fileName = Path.GetFileName(theEntry.Name);
    
                            // create directory
                            if (directoryName.Length > 0)
                            {
                                Directory.CreateDirectory(directoryName);
                            }
    
                            if (fileName != String.Empty)
                            {
                                using (FileStream streamWriter = File.Create(theEntry.Name))
                                {
    
                                    int size = 2048;
                                    byte[] data = new byte[2048];
                                    while (true)
                                    {
                                        size = s.Read(data, 0, data.Length);
                                        if (size > 0)
                                        {
                                            streamWriter.Write(data, 0, size);
                                            streamWriter.Close();
                                        }
                                        else
                                        {
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
    
                    result = true;
                }
                catch
                {
                }
                return result;
            }
    
            //public static bool UnZip(string inputFile, string outputDir)
            //{
            //    bool result = false;
            //    try
            //    {
            //        ZipFile.ExtractToDirectory(inputFile, outputDir);
            //        result = true;
            //    }
            //    catch
            //    {
            //    }
            //    return result;
            //}
        }
  • 相关阅读:
    第三章 学习ICE 3.0Slice语言
    腾讯
    Websvn的安装
    fedora下装eclipse
    linux快捷键
    windows下SVN解决方案
    用ICE实现一个简单的聊天室
    Tortoise SVN 客户端使用方法
    GCC安装
    在VC++6.0 IDE中配置ICE工程[ ICE FOR VC++6.0 ]
  • 原文地址:https://www.cnblogs.com/zyip/p/3669980.html
Copyright © 2011-2022 走看看