private void DecompressBtn_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(FileUrl)) { MessageBox.Show($"File not selected", "Select File", MessageBoxButton.OK, MessageBoxImage.Error); } else if (LoadedCodesTxtBlck.Text == "none") { MessageBox.Show($"Codes not selected", "Select Codes", MessageBoxButton.OK, MessageBoxImage.Error); } else if (Path.GetExtension(FileUrl) != ".huff") { MessageBox.Show($"Wrong File Extension", "Wrong Extension", MessageBoxButton.OK, MessageBoxImage.Error); } else { byte[] DecompressedFile = HuffmanCoderMethods.DecompressFile(HuffmanCode, FileUrl); if (DecompressedFile != null) { MessageBox.Show($"File Decompressed", "Success", MessageBoxButton.OK, MessageBoxImage.Information); SaveFileDialog saveFileDialog = new SaveFileDialog { Title = "Save Decompressed File", FileName = $"{FileName}" }; saveFileDialog.ShowDialog(); if (string.IsNullOrEmpty(saveFileDialog.FileName)) { return; } File.WriteAllBytes(saveFileDialog.FileName, DecompressedFile); } else { MessageBox.Show($"Decompression Failed", "Fail", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void CompressBtn_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(FileUrl)) { MessageBox.Show($"File not selected", "Select File", MessageBoxButton.OK, MessageBoxImage.Error); } else if (LoadedCodesTxtBlck.Text == "none") { MessageBox.Show($"Codes not selected", "Select Codes", MessageBoxButton.OK, MessageBoxImage.Error); } else { byte[] compressedFile = HuffmanCoderMethods.CompressFile(HuffmanCode, FileUrl); if (compressedFile != null) { MessageBox.Show($"File Compressed", "Success", MessageBoxButton.OK, MessageBoxImage.Information); SaveFileDialog saveFileDialog = new SaveFileDialog { Filter = "Huff files|*.huff", Title = "Save Compressed File", FileName = $"{FileName}.huff" }; saveFileDialog.ShowDialog(); if (string.IsNullOrEmpty(saveFileDialog.FileName)) { return; } File.WriteAllBytes(saveFileDialog.FileName, compressedFile); } else { MessageBox.Show($"Compression Failed", "Fail", MessageBoxButton.OK, MessageBoxImage.Error); } } }
public void CreateHuffmanCodes(string path) { BinaryCodes = HuffmanCoderMethods.CreateHuffmanCodes(path); }