示例#1
0
文件: Form1.cs 项目: gamelt/bwc
 private void btnDeCompress_Click(object sender, EventArgs e)
 {
     try
     {
         Stopwatch sw = new Stopwatch();
         Helper = new CompressionHelper();
         sw.Start();
         string filePath = txtPath.Text;
         byte[] bytesInFile = LoadFromFile(filePath);
         BitArray bitsInFile = ConvertFromByteArrayToBitArray(bytesInFile);
         var decodedHuffman = Helper.Huffman.Decode(bitsInFile);
         List<int> decodedMTF = Helper.MoveToFront.Decoding(decodedHuffman);
         byte[] inversedText = Helper.Transformer.InverseTransformation(decodedMTF);
         string decompressedFilePath = @"E:\" + "Decompressed" + Guid.NewGuid().ToString() + ".txt";
         Helper.FilePath = decompressedFilePath;
         File.WriteAllBytes(decompressedFilePath, inversedText);
         MessageBox.Show(sw.Elapsed.ToString());
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     //var form = new OpenFileForm();
     //form.ShowDialog();
 }
示例#2
0
文件: Form1.cs 项目: gamelt/bwc
 private void btnCompress_Click(object sender, EventArgs e)
 {
     //try
     //{
         Stopwatch sw = new Stopwatch();
         Helper = new CompressionHelper();
         sw.Start();
         string filePath = txtPath.Text;
         byte[] textInFile = File.ReadAllBytes(filePath);
         var compressedFilePath = @"E:\" + "Compressed" + Guid.NewGuid().ToString() + ".bin";
         Helper.FilePath = compressedFilePath;
         byte[] transformedText = Helper.Transformer.Transform(textInFile);
         byte[] encodedMTF = Helper.MoveToFront.Encoding(transformedText);
         Helper.Huffman.Build(encodedMTF);
         BitArray _encodedHuffman = Helper.Huffman.Encode(encodedMTF);
         Helper.CompressedFileLength = _encodedHuffman.Length;
         byte[] encodedHuffman = ConvertFromBitArrayToByteArray(_encodedHuffman);
         SaveToFile(compressedFilePath, encodedHuffman);
         MessageBox.Show(sw.Elapsed.ToString());
     //}
     //catch (Exception ex)
     //{
     //    MessageBox.Show(ex.Message);
     //}
     //var form = new OpenFileForm();
     //form.ShowDialog();
 }