DeflateStream
and GZipStream
are two stream we can use to do the compression.
GZipStream
writes an additional protocol at the start and end including a CRC to detect for errors.
GZipStream
conforms to a standard recognized by other software.
using System;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Text;
class Program
{
static void Main()
{
string[] words = "this is a test".Split();
Random rand = new Random();
using (Stream s = File.Create("compressed.bin"))
using (Stream ds = new DeflateStream(s, CompressionMode.Compress))
using (TextWriter w = new StreamWriter(ds))
for (int i = 0; i < 10; i++)
w.Write(words[rand.Next(words.Length)] + " ");
Console.WriteLine(new FileInfo("compressed.bin").Length);
using (Stream s = File.OpenRead ("compressed.bin")){
using (Stream ds = new DeflateStream(s, CompressionMode.Decompress)){
using (TextReader r = new StreamReader(ds)){
Console.Write(r.ReadToEnd());
}
}
}
}
}
The output:
124
test test this this test is a is test this
java2s.com | Contact Us | Privacy Policy |
Copyright 2009 - 12 Demo Source and Support. All rights reserved. |
All other trademarks are property of their respective owners. |