2011-06-04 63 views
-1

可能重复:
.Net Zip Up files如何压缩文本文件

嗨,

我有创建一个文本文件到压缩文件有问题,

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

我的代码创建。我要压缩其创建的文本文件的文本文件,

这里是我的代码,

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

任何人都可以请说我以后如何创建压缩文件将其创建为文本文件。

在此先感谢。

+2

@G ARSHIYA:难道只是我,还是你只是发布[同样的事情(http://stackoverflow.com/问题/ 6234858/how-to-zip-a-text-file)在另一个帐户中? – Mehrdad 2011-06-04 05:32:51

回答

6

首先,你需要做更多的IO流来完成你打算压缩的文件。下面的例子显示了你可以做到这一点的一种方法。

如果你想坚持只与.NET Framework和只是想压缩和解压缩,可以使用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"); 
    } 
} 
+0

您可能想要查看/修复某人在本示例中从MSDN指出的错误。这一切都在页面上的评论。总而言之,恕我直言,GZipStream并不是一个很好的解决方案,并且有几个很好的和光滑的开源解决方案。 – philhobgen 2011-06-04 05:54:05

+0

@ stupid-phil:我同意GZipStream不是最好的选择,所以我更新了我的文章,只包含DotNetZip代码示例。 – Matt 2011-06-04 06:13:36

+0

和+1给你给他的代码! ;-) – philhobgen 2011-06-04 06:20:28