NET中SharpZipLib 的使用(一)【壓縮與解壓】
壓縮的Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using ICSharpCode.SharpZipLib.Zip;
namespace SharpZipLibUse
{
class Program
{
static void Main(string[] args)
{
//壓縮檔案
//得到一個壓縮檔案,流
FileStream zipFile = new FileStream("Demo.zip", FileMode.Create);
//建立一個壓縮流,寫入壓縮流中的內容,自動被壓縮
ZipOutputStream zos = new ZipOutputStream(zipFile);
//當前目錄
DirectoryInfo di = new DirectoryInfo(".");
FileInfo[] files = di.GetFiles("*.txt");
byte[] buffer = new byte[10 * 1024];
foreach (FileInfo fi in files)
{
//第一步,寫入壓縮的說明
ZipEntry entry = new ZipEntry(fi.Name);
entry.Size = fi.Length;
//儲存
zos.PutNextEntry(entry);
//第二步,寫入壓縮的檔案內容
int length=0;
Stream input=fi.Open(FileMode.Open);
while ((length=input.Read(buffer,0,10*1024))>0)
{
zos.Write(buffer,0,length);
}
input.Close();
}
zos.Finish();
zos.Close();
Console.WriteLine("Ok!");
Console.Read();
}
}
}
執行結果如圖:
解壓的Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ICSharpCode.SharpZipLib.Zip;
using System.IO;
namespace ZipDemo
{
class Program
{
static void Main(string[] args)
{
//萬物皆物件
//一個壓縮檔案看成一個物件
ZipFile zf = new ZipFile("Program.zip");
//一個壓縮檔案內,包括多個被壓縮的檔案
foreach (ZipEntry entry in zf)
{
//一個被壓縮檔案,稱為一個條目
Console.WriteLine("壓縮包內檔名:" + entry.Name);
Console.WriteLine("壓縮包大小:" + entry.Size);
//解壓出被壓縮的檔案
FileStream fs = new FileStream(entry.Name, FileMode.Create);
//獲取從壓縮包中讀取資料的流
Stream input = zf.GetInputStream(entry);
byte[] buffer = new byte[10 * 1024];
int length = 0;
while ((length = input.Read(buffer, 0, 10 * 1024)) > 0)
{
fs.Write(buffer, 0, length);
}
fs.Close();
input.Close();
}
Console.Read();
}
}
}
執行結果如圖:
相關文章
- NET中SharpZipLib 的使用(二)【Web中壓縮與解壓】Web
- 利用ICSharpCode.SharpZipLib來實現的壓縮與解壓縮類CSharpRPC
- C# 壓縮和解壓檔案(SharpZipLib)C#
- c# 檔案壓縮DotNetZip和SharpZipLibC#
- .NET 壓縮/解壓檔案
- aix 下壓縮與解壓縮AI
- AIX 上壓縮與解壓縮AI
- Asp.net實現線上壓縮與解壓ASP.NET
- aix 檔案的壓縮與解壓縮AI
- Linux中檔案的壓縮與解壓縮(轉貼)Linux
- Linux下常用壓縮格式的壓縮與解壓方法Linux
- tar的打包-壓縮與解壓縮,並解壓到指定的目錄
- linux 高效壓縮工具之xz的壓縮解壓使用Linux
- Linux 常用的壓縮與解壓縮命令詳解Linux
- Linux tar分卷壓縮與解壓縮Linux
- 使用jar與zip壓縮解壓檔案的區別JAR
- Linux下常用壓縮格式的壓縮與解壓方法---轉載Linux
- 檔案的壓縮與解壓縮zz--linuxLinux
- linux壓縮解壓縮Linux
- CentOS中zip壓縮和unzip解壓縮命令詳解CentOS
- unix和linux下常用壓縮格式的壓縮與解壓方法(轉)Linux
- Cnetos7系統---檔案壓縮與解壓命令詳解。
- Linux下檔案的壓縮與解壓Linux
- tar 分卷壓縮&解壓縮命令
- Linux各種壓縮與解壓方法Linux
- Linux壓縮解壓Linux
- 關於Java的GZIP壓縮與.net C#的GZIP壓縮的差異JavaC#
- CentOS7中zip壓縮和unzip解壓縮命令詳解CentOS
- 淺談在c#中使用Zlib壓縮與解壓的方法C#
- SAPCAR 壓縮解壓軟體的使用方法(zt)PCA
- Linux中檔案的壓縮和解壓縮Linux
- linux下壓縮解壓縮命令Linux
- Linux壓縮及解壓縮命令Linux
- linux 下壓縮與解壓資料夾Linux
- 用ASP實現線上壓縮與解壓縮功能程式碼
- 分卷壓縮怎麼解壓 快速解壓電腦分卷壓縮檔案方法
- Linux下的tar壓縮解壓縮命令詳解Linux
- linux壓縮(解壓縮)命令詳解-轉Linux