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(); }
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(); }