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;
            //}
        }
  • 相关阅读:
    退役划水一
    Codeforces 1592F2 Alice and Recoloring 2
    AtCoder Regular Contest 108 选做
    AtCoder Regular Contest 107 选做
    AtCoder Regular Contest 106 选做
    AtCoder Regular Contest 105 选做
    2021 年铜陵市青少年编程大赛 部分题解
    Codeforces 1566G Four Vertices
    数据迁移的一般测试步骤
    mac常用命令
  • 原文地址:https://www.cnblogs.com/zyip/p/3669980.html
Copyright © 2011-2022 走看看