private void startDecompression() { if (isCompressed) { CompressionConfig config = new CompressionConfig(); if (isLocal) { config.absolutePath = path + templocalfilename; } else { config.absolutePath = templocalpath + templocalfilename; } decompressDirectory = templocalpath + templocalfilename.Replace(StringUtils.getExtension(templocalfilename), "") + "\\"; config.decompressDirectory = decompressDirectory; config.isEncrypted = isEncrypted; config.password = password; compressionadapter = new CompressionAdapter(config); compressionadapter.CompressComplete += onCompressCompleteHandler; compressionadapter.CompressError += onCompressErrorHandler; compressionadapter.CompressProgress += onCompressProgressHandler; compressionadapter.CompressStart += onCompressStartHandler; compressionadapter.decompress(); } else { startImportProccess(); } }
public static byte[] Encode(CompressionConfig compressionConfig, byte[] data, long dataLength, out long encodedDataLength) { ArgumentChecker.NotNull(compressionConfig, "compressionConfig"); ArgumentChecker.NotNull(data, "data"); // using (MemoryStream outStream = new MemoryStream()) { using (Stream inStream = new MemoryStream(data)) { const Int32 dictionary = 1 << 21; const string mf = "bt4"; const bool eos = false; const Int32 posStateBits = 2; const Int32 litContextBits = 3; const Int32 litPosBits = 0; const Int32 algorithm = 2; const Int32 numFastBytes = 128; CoderPropID[] propIDs = new CoderPropID[] { CoderPropID.DictionarySize, CoderPropID.PosStateBits, CoderPropID.LitContextBits, CoderPropID.LitPosBits, CoderPropID.Algorithm, CoderPropID.NumFastBytes, CoderPropID.MatchFinder, CoderPropID.EndMarker }; object[] properties = new object[] { dictionary, posStateBits, litContextBits, litPosBits, algorithm, numFastBytes, mf, eos }; Encoder encoder = new Encoder(); encoder.SetCoderProperties(propIDs, properties); encoder.WriteCoderProperties(outStream); // for (int i = 0; i < 8; i++) { outStream.WriteByte((Byte)(dataLength >> (8 * i))); } // encoder.Code(inStream, outStream, dataLength, -1, null); } // encodedDataLength = outStream.Length; return(outStream.GetBuffer()); } }
public Compression(CompressionConfig config) { this.config = config; }
public CompressionAdapter(CompressionConfig config) { this.config = config; }