c#压缩文件

来源:互联网 发布:php跨域上传图片 编辑:程序博客网 时间:2024/06/05 09:23
 /// <summary>    /// 压缩文件 //转载请注明来自 http://www.shang11.com    /// </summary>    /// <param name="FileToZip">要进行压缩的文件名</param>    /// <param name="ZipedFile">压缩后生成的压缩文件名</param>    private static bool ZipFile(string FileToZip, string ZipedFile, int level)    {        if (!File.Exists(FileToZip))        {            throw new System.IO.FileNotFoundException("指定要压缩的文件: " + FileToZip + " 不存在!");        }        FileStream ZipFile = null;        ZipOutputStream ZipStream = null;        ZipEntry ZipEntry = null;        bool res = true;        try        {            ZipFile = File.OpenRead(FileToZip);            byte[] buffer = new byte[ZipFile.Length];            ZipFile.Read(buffer, 0, buffer.Length);            ZipFile.Close();            ZipFile = File.Create(ZipedFile);            ZipStream = new ZipOutputStream(ZipFile);            ZipEntry = new ZipEntry(Path.GetFileName(FileToZip));            ZipStream.PutNextEntry(ZipEntry);            ZipStream.SetLevel(level);            ZipStream.Write(buffer, 0, buffer.Length);        }        catch        {            res = false;        }        finally        {            if (ZipEntry != null)            {                ZipEntry = null;            }            if (ZipStream != null)            {                ZipStream.Finish();                ZipStream.Close();            }            if (ZipFile != null)            {                ZipFile.Close();                ZipFile = null;            }            GC.Collect();            GC.Collect(1);        }        return res;    }

0 0