private void CompressString(string str)
        {
            MemoryStream memoryStream = new MemoryStream();
            CompressionMethod method = (CompressionMethod)Enum.Parse(typeof(CompressionMethod), CompressionMethods.SelectedValue.ToString(), false);
            CompressionSettings settins = null;
            switch (method)
            {
                case CompressionMethod.Stored:
                    settins = new StoreSettings();
                    break;
                case CompressionMethod.Deflate:
                    settins = new DeflateSettings();
                    break;
                case CompressionMethod.Lzma:
                    settins = new LzmaSettings();
                    break;
            }

            CompressedStream zipOutputStream = new CompressedStream(memoryStream, StreamOperationMode.Write, settins);
            StreamWriter writer = new StreamWriter(zipOutputStream);
            writer.Write(str);
            writer.Flush();

            CompressedText.Text = Convert.ToBase64String(memoryStream.ToArray());
        }
示例#2
0
 private void LzmaSettings()
 {
     #region radziplibrary-compression-settings_1
     LzmaSettings compressionSettings = new LzmaSettings();
     compressionSettings.DictionarySize      = 23;
     compressionSettings.FastBytes           = 32;
     compressionSettings.LiteralContextBits  = 3;
     compressionSettings.LiteralPositionBits = 3;
     compressionSettings.MatchFinderType     = LzmaMatchFinderType.BT4;
     compressionSettings.PositionStateBits   = 2;
     #endregion
 }
示例#3
0
        internal override void CopyFrom(CompressionSettings baseSettings)
        {
            LzmaSettings lzmaSettings = baseSettings as LzmaSettings;

            if (lzmaSettings == null)
            {
                return;
            }
            this.UseZipHeader        = lzmaSettings.UseZipHeader;
            this.DictionarySize      = lzmaSettings.DictionarySize;
            this.PositionStateBits   = lzmaSettings.PositionStateBits;
            this.LiteralContextBits  = lzmaSettings.LiteralContextBits;
            this.LiteralPositionBits = lzmaSettings.LiteralPositionBits;
            this.FastBytes           = lzmaSettings.FastBytes;
            this.MatchFinderType     = lzmaSettings.MatchFinderType;
        }
示例#4
0
 public LzmaTransformBase(LzmaSettings settings)
 {
     this.Settings = settings;
 }