.net支持两种压缩格式:gzip和deflate。我试了一下,压缩率和速度没区别。其中,gzip可以被winrar打开。
使用起来很简单,下面的程序将字符串压缩入文件:
using (deflatestream gzip = new deflatestream(fs, compressionmode.compress))
{
byte[] buf = encoding.utf8.getbytes(this.txbsource.text);
gzip.write(buf, 0, buf.length);
gzip.flush();
}
解压只需要这样:
gzip = new gzipstream(new memorystream(buf), compressionmode.decompress);
using (streamreader reader = new streamreader(gzip))
{
this.txbtarget.text = reader.readtoend();
}
如果从文件解压,只需要把memorystream换成一个filestream就行了。
当然,需要加:using system.io.compression;
新闻热点
疑难解答
图片精选