C#实现解压GZip文件的方法
作者:皮蛋 发布时间:2022-11-29 07:25:36
标签:C#,解压
本文实例讲述了C#实现解压GZip文件的方法。分享给大家供大家参考。具体实现方法如下:
public void ungzip(string path, string decomPath, bool overwrite)
{
//for overwriting purposes
if (File.Exists(decomPath))
{
if (overwrite)
{
File.Delete(decomPath);
}
else
{
throw new IOException("The decompressed path you specified already exists and cannot be overwritten.");
}
}
//create our file streams
GZipStream stream = new GZipStream(new FileStream(path, FileMode.Open, FileAccess.ReadWrite), CompressionMode.Decompress);
FileStream decompressedFile = new FileStream(decomPath, FileMode.OpenOrCreate, FileAccess.Write);
//data represents a byte from the compressed file
//it's set through each iteration of the while loop
int data;
while ((data = stream.ReadByte()) != -1) //iterates over the data of the compressed file and writes the decompressed data
{
decompressedFile.WriteByte((byte)data);
}
//close our file streams
decompressedFile.Close();
stream.Close();
}
希望本文所述对大家的C#程序设计有所帮助。
0
投稿
猜你喜欢
- 概述递归:指在当前方法内调用自己的这种现象。递归的分类:递归分为两种,直接递归和间接递归。直接递归称为方法自身调用自己。间接递归可以A方法调
- 目录基本用法基于接口的 * 基于类的 * 异步函数拦截Autofac 集成基于接口的 * 基于类的 * 异步函数拦截Castle 是 200
- 很久没写文章了,一方面是最近几个月比较忙,没太多时间,另一方面是最近拖延症严重,写文章的想法总是一拖再拖。今天找一个小案例写一下,与懒惰对抗
- 本文研究的主要是Java回调函数与观察者模式的实现,具体介绍和实现代码如下。观察者模式(有时又被称为发布(publish )-订阅(Subs
- 前言:在java的网络通信中,两个不同节点的主机想要进行通信则可以通过建立Socket对象(相当于客户端主机,向服务端请求发送信息)和Ser
- feign传输List的坑无法直接传输List错误方法1@RequestMapping(value = "/stat/mercha
- 前章知识: 点此跳转HTML简介:超文本是一种组织信息的方式,它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。这些相互关联的信息
- 首先给出代码和输出://import java.sql.DriverManager;//import java.sql.SQLExcepti
- 一、Thread 类了解如何使用Thread 类实现多线程之后,继续学习Thread 类实现多线程之后的相关功能及方法。1、操作线程名称的方
- 我就废话不多说了,大家还是直接看代码吧~ @Test void testJava8ForeachMap() { Map<String,
- 目录实现效果实现方式实现步骤Blend绘制Path绘制Path绘制直线绘制曲线改变曲线形状移除Path上的线段移除Path上的点Path添加
- 最近这款“跳一跳”很火,在段子里面看到有人才放了张画着坐标的纸在手机上,说根据
- 本文实例讲述了C#实现的Win32控制台线程计时器功能。分享给大家供大家参考,具体如下:在C#中提供了三种类型的计时器:1、基于 Windo
- 正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及
- 实现Android studio设置自动导包及自动导包快捷键方式一:Android studio只有导单个包的快捷键:Alt+Enter。方
- java addMouseListener()方法使用用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的 * 接口。(要跟
- 目录前言实践部分测试部分总结前言今天跟小伙伴们分享一个实战内容,使用Spring Boot+Shiro实现一个简单的Http认证。场景是这样
- 如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HT
- Looper是整个跨线程通信的管理者 // 内部持有的变量如下: ThreadLocal
- 什么是不可变对象?String对象是不可变的,但这仅意味着你无法通过调用它的公有方法来改变它的值。众所周知, 在Java中, String类