1>檔案壓縮過程:
1.建立讀取流File.OpenRead()
2.建立寫入流File.OpenWrite();
3.建立壓縮流new GZipStream();將寫入流作為參數與。
4.每次通過讀取流讀取一部分資料,通過壓縮流寫入。
2>檔案解壓過程
1.建立讀取流:File.OpenRead()
2.建立壓縮流:new GZipStream();將讀取流作為參數
3.建立寫入流File.OpenWrite();
4.每次通過壓縮流讀取資料,通過寫入流寫入資料。
檔案壓縮舉例說明:
//1.建立讀取文字檔的流
using (FileStream fsRead = File.OpenRead("a.txt"))
{
//2.建立寫入文字檔的流
using (FileStream fsWrite = File.OpenWrite("aa.txt"))
{
//3.建立壓縮流
using (GZipStrZipStream zipStream = eam zipStream = new GZipStream(fsWrite, CompressionMode.Compress))
{
//4.每次讀取1024byte
byte[] byts = new byte[1024];
int len = 0;
while ((len = fsRead.Read(byts, 0, byts.Length)) > 0)
{
//通過壓縮流寫入檔案
zipStream.Write(byts, 0, len);
}
}
}
}
Console.WriteLine("ok");
Console.ReadKey();
檔案解舉例說明:
using (FileStream fsRead = File.OpenRead("yasuo.txt"))
{
using (GZipStream gzipStream = new GZipStream(fsRead, CompressionMode.Decompress))
{
using (FileStream fsWrite = File.OpenWrite("jieya.txt"))
{
byte[] byts = new byte[1024];
int len = 0;
while ((len = gzipStream.Read(byts, 0, byts.Length)) > 0)
{
fsWrite.Write(byts, 0, len);
}
}
}
}
Console.WriteLine("ok");
Console.ReadKey();