C#将文件压缩或者解压
轉(zhuǎn)載:msay
C#自帶壓縮和解壓的庫
應(yīng)用命名空間:using System.IO.Compression;
壓縮:
filePath為傳入壓縮文件的路徑
private static void FileCompression(string filePath)
{
StreamReader sr = new StreamReader(filePath);
//讀取出文件中的內(nèi)容來
string data = sr.ReadToEnd();
//壓縮文件的后綴名可以隨意起。創(chuàng)建文件路徑為相當(dāng)路徑,Debug下,也可為絕對路徑
FileStream filedata = new FileStream("myCompression.mZP", FileMode.Create, FileAccess.Write);
//將創(chuàng)建的文件流壓縮
GZipStream zip = new GZipStream(filedata, CompressionMode.Compress);
StreamWriter sw = new StreamWriter(zip);
//將文件的內(nèi)容寫入到壓縮的流當(dāng)中
sw.Write(data);
//關(guān)閉流
sw.Close();
zip.Close();
sr.Close();
sw.Close();
filedata.Close();
}
解壓:
private static void FileDeCompression()
{
//將在指定相對路徑Debug下,將以壓縮的文件變?yōu)橐粋€文件流
FileStream fileCompression = File.OpenRead("myCompression.mZP");
//將文件流解壓
GZipStream gzp = new GZipStream(fileCompression, CompressionMode.Decompress);
//讀出文件流
StreamReader sr = new StreamReader(gzp);
//讀取出解壓后的數(shù)據(jù)
string data = sr.ReadToEnd();
sr.Close();
gzp.Close();
fileCompression.Close();
}
通過使用上面的兩個方法即可實(shí)現(xiàn)對文件或者是數(shù)據(jù)的壓縮和解壓。
使用C#自帶的庫也會存在一些缺點(diǎn):無法對文件夾經(jīng)行壓縮。
?
轉(zhuǎn)載于:https://www.cnblogs.com/zwj-199306231519/p/10822914.html
總結(jié)
以上是生活随笔為你收集整理的C#将文件压缩或者解压的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小程序优化(1)
- 下一篇: C# 获取目录下文件