博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 解压与压缩文件
阅读量:7091 次
发布时间:2019-06-28

本文共 2110 字,大约阅读时间需要 7 分钟。

 

解压文件 ,引用 SharpZipLib.dll类库

方法一:

public void UnGzipFile(string zipfilename)        {            //同压缩文件同级同名的非压缩文件路径               var path = zipfilename.Replace(Path.GetFileName(zipfilename), Path.GetFileNameWithoutExtension(zipfilename));            //创建压缩文件的输入流实例            using (GZipInputStream zipFile = new GZipInputStream(File.OpenRead(zipfilename)))            {                //创建目标文件的流                using (FileStream destFile = new FileStream(path, FileMode.Create))                {                    int buffersize = 2048;//缓冲区的尺寸,一般是2048的倍数                    byte[] FileData = new byte[buffersize];//创建缓冲数据                    while (buffersize > 0)//一直读取到文件末尾                    {                        buffersize = zipFile.Read(FileData, 0, buffersize);//读取压缩文件数据                        destFile.Write(FileData, 0, buffersize);//写入目标文件                    }                    destFile.Flush();                }            }        }

方法二:

///         /// 引用 SharpZipLib.dll        ///         /// 压缩文件        /// 解压文件        public void gunZipFile(string zipFilePath, string filePath)        {            using (Stream inStream = new GZipInputStream(File.OpenRead(zipFilePath)))            {                using (FileStream outStream = new FileStream(filePath, FileMode.Create))                {                    byte[] buf = new byte[4096];                    StreamUtils.Copy(inStream, outStream, buf);                }            }        }

 

压缩

///         /// 压缩文件        ///         /// 文件路径        /// 压缩后的文件路径        public static void gZipFile(string filePath, string zipFilePath)        {            Stream s = new GZipOutputStream(File.Create(zipFilePath));            FileStream fs = File.OpenRead(filePath);            int size;            byte[] buf = new byte[4096];            do            {                size = fs.Read(buf, 0, buf.Length);                s.Write(buf, 0, size);            } while (size > 0);            s.Close();            fs.Close();        }

 

文章来源:http://walkerqt.blog.51cto.com/1310630/1706239

 

转载于:https://www.cnblogs.com/xiaoyaodijun/p/7428366.html

你可能感兴趣的文章
Facebook 开源了一整套重要的 Linux 内核组件与工具!
查看>>
回顾互联网的过去十年(下)
查看>>
Spring AOP不拦截从对象内部调用的方法原因
查看>>
JSON.parse()和JSON.stringify()
查看>>
Github上如何在组织中的代码仓库里,为组织中的小组创建Pull Request(拉取请求/下载请求)?...
查看>>
Feign 与 Hystrix
查看>>
MongoDB之分片集群(Sharding)
查看>>
阿里巴巴的AI算法程序媛是怎样的一种存在?
查看>>
Pygame常用方法
查看>>
java基础学习_概述_day01总结
查看>>
新旧之争,JDK 团队发起 Project Skara 引争议
查看>>
行业大咖“论剑上海”, 云服务究竟引发哪些行业变革
查看>>
解决linux删除文件后空间没有释放问题
查看>>
Mysql基础知识学习
查看>>
WinSCP 5.13.9 发布,Windows 图形化 SFTP 客户端
查看>>
物联网数据分析能为制造业带来什么?
查看>>
淘宝成“新生代海归”创业首选:超两成头部卖家有海外背景
查看>>
Theano 中文文档 0.9 - 4. 要求
查看>>
webstorm9.0.3 注册码
查看>>
iptables从入门到放弃
查看>>