.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;
新聞熱點
疑難解答
圖片精選