如何压缩文本文件

时间:2011-06-04 05:11:42

标签: c#

  

可能重复:
  .Net Zip Up files

您好,

我在创建zip文件的文本文件时遇到问题,

我正在创建一个读取数据文件并将其转换为文本文件的项目。

我的代码创建了一个文本文件。我想压缩创建的文本文件

这是我的代码,

private void button1_Click(object sender, EventArgs e)
{
    string path = DayFuturesDestination + "\\" + txtSelectedDate.Text + ".txt";
    StreamWriter Strwriter = new StreamWriter(path);
}

任何人都可以告诉我如何在将zip文件创建为文本文件后创建它。

提前致谢。

2 个答案:

答案 0 :(得分:6)

首先,您需要对IO流做更多工作才能完成编写压缩计划的文件。下面的示例显示了一种方法。

如果您只想坚持.net框架而只想压缩和解压缩,可以使用符合System.IO.Compression.GZipStream格式的GNU Zip。请注意,这与ZIP存档格式不同。为此,您需要第三方库,例如DotNetZip。后者更容易实现,并且可能是比GZipStream更好的选择。

例如,将DotNetZip的示例应用于您的代码:

 private void button1_Click(object sender, EventArgs e)
 {
     string path = DayFuturesDestination + "\\" + txtSelectedDate.Text + ".txt";
     StreamWriter Strwriter = new StreamWriter(path);
     Strwriter.Write(textToAdd);
     Strwriter.Flush();
     Strwriter.Close();

     using (ZipFile zip = new ZipFile())
     {
         zip.AddFile(path);
         zip.Save(path + ".zip");
     }
 }

答案 1 :(得分:3)

您需要一个zip库来压缩文件。试试这个:http://dotnetzip.codeplex.com/

或者这一个:http://www.icsharpcode.net/OpenSource/SharpZipLib/(在果园项目中使用)

它们看起来都很容易使用。