public static void Decompress(string inFile, string outFile) {
try {
inStream = new FileStream(inFile, FileMode.Open);
outStream = new FileStream(outFile, FileMode.Create);
byte[] properties = new byte[5];
if (inStream.Read(properties, 0, 5) != 5)
throw (new Exception("Input stream is too short."));
Compression.LZMA.Decoder decoder = new Compression.LZMA.Decoder();
decoder.SetDecoderProperties(properties);
var br = new BinaryReader(inStream, Encoding.UTF8);
long decompressedSize = br.ReadInt64();
long compressedSize = br.ReadInt64();
decoder.Code(inStream, outStream, compressedSize, decompressedSize, null);
} catch (Exception e) {
throw e;
} finally {
inStream.Flush();
inStream.Close();
outStream.Flush();
outStream.Close();
}
}