C#將文件壓縮或者解壓


轉載:msay

C#自帶壓縮和解壓的庫

應用命名空間:using System.IO.Compression;

壓縮:

filePath為傳入壓縮文件的路徑

private static void FileCompression(string filePath)
{
  StreamReader sr = new StreamReader(filePath);
  //讀取出文件中的內容來
  string data = sr.ReadToEnd();
  //壓縮文件的后綴名可以隨意起。創建文件路徑為相當路徑,Debug下,也可為絕對路徑
  FileStream filedata = new FileStream("myCompression.mZP", FileMode.Create, FileAccess.Write);
  //將創建的文件流壓縮
  GZipStream zip = new GZipStream(filedata, CompressionMode.Compress);
  StreamWriter sw = new StreamWriter(zip);
  //將文件的內容寫入到壓縮的流當中
  sw.Write(data);
  //關閉流
  sw.Close();
  zip.Close();
  sr.Close();
  sw.Close();
  filedata.Close();
}

解壓:

private static void FileDeCompression()
{
  //將在指定相對路徑Debug下,將以壓縮的文件變為一個文件流
  FileStream fileCompression = File.OpenRead("myCompression.mZP");
  //將文件流解壓
  GZipStream gzp = new GZipStream(fileCompression, CompressionMode.Decompress);
  //讀出文件流
  StreamReader sr = new StreamReader(gzp);
  //讀取出解壓后的數據
  string data = sr.ReadToEnd();

  sr.Close();
  gzp.Close();
  fileCompression.Close();
}

通過使用上面的兩個方法即可實現對文件或者是數據的壓縮和解壓。

使用C#自帶的庫也會存在一些缺點:無法對文件夾經行壓縮。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM