可能重复:
.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文件创建为文本文件后创建它。
提前致谢。
答案 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/(在果园项目中使用)
它们看起来都很容易使用。