C#使用SharpZipLib压缩和解压文件2/3解压类

本文介绍了一个使用 C# 实现的 ZIP 文件解压示例代码。该示例展示了如何利用 ICSharpCode.SharpZipLib 库来读取 ZIP 压缩文件,并将其内容解压到指定的目标路径。

using System;

using System.IO;

using ICSharpCode.SharpZipLib.Zip;

 

namespace DeCompression

{

    /// <summary>

    /// 解压文件

    /// </summary>

    public class UnZipClass

    {

        /// <summary>

        /// 解压文件

        /// </summary>

        /// <param name="fileToUnZip">要解压的压缩文件</param>

        /// <param name="unZipDestination">解压目标路径</param>

        public static void UnZip(string fileToUnZip, string unZipDestination)

        {

            ZipInputStream inputStream = new ZipInputStream(File.OpenRead(fileToUnZip));

            ZipEntry theEntry;

            while ((theEntry = inputStream.GetNextEntry()) != null)

            {

                unZipDestination += "/";

                string fileName = Path.GetFileName(theEntry.Name);

                string path = Path.GetDirectoryName(unZipDestination + theEntry.Name) + "/";

                Directory.CreateDirectory(path);//生成解压目录

                if (fileName != String.Empty)

                {

                    FileStream streamWriter = File.Create(path + fileName);//解压文件到指定的目录

                    int size = 2048;

                    byte[] data = new byte[2048];

                    while (true)

                    {

                        size = inputStream.Read(data, 0, data.Length);

                        if (size > 0)

                        {

                            streamWriter.Write(data, 0, size);

                        }

                        else

                        {

                            break;

                        }

                    }

                    streamWriter.Close();

                }

            }

            inputStream.Close();

        }

    }

}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值