private void DeCompressFolder(object sender, RoutedEventArgs e) { VistaFolderBrowserDialog FolderDialog = new VistaFolderBrowserDialog(); if ((bool)FolderDialog.ShowDialog(this)) { string[] files = Directory.GetFiles(FolderDialog.SelectedPath); string newDirectory = FolderDialog.SelectedPath.Substring(0, FolderDialog.SelectedPath.Length - 11) + "-decompressed"; for (int i = 0; i < files.Length; i++) { if (files[i].Contains(".lzw")) { Directory.CreateDirectory(newDirectory); FileStream selectedFile = new FileStream(files[i], FileMode.Open, FileAccess.Read); int index = files[i].LastIndexOf("\\"); string fileName = files[i].Substring(index); CompressionImageFile.Decompress(selectedFile, newDirectory + fileName); } else if (files[i].Contains(".fano")) { byte[] content = File.ReadAllBytes(files[i]); KeyValuePair <int, TextFile> decompressTextFile = CompressionTextFile.DecompressTextFile(content); int index = files[i].LastIndexOf("\\"); string fileName = files[i].Substring(index, files[i].Length - index - 5); string _content = Encoding.UTF8.GetString(decompressTextFile.Value.Content, 0, decompressTextFile.Value.Content.Length); File.WriteAllText(newDirectory + fileName + ".txt", _content); } } filePathlbl.Content = "file path : " + newDirectory; } }
private void CompressFolder(object sender, RoutedEventArgs e) { VistaFolderBrowserDialog FolderDialog = new VistaFolderBrowserDialog(); if ((bool)FolderDialog.ShowDialog(this)) { string[] files = Directory.GetFiles(FolderDialog.SelectedPath); string newDirectory = FolderDialog.SelectedPath + "-compressed"; for (int i = 0; i < files.Length; i++) { if (files[i].Contains(".png") || files[i].Contains(".jpg") || files[i].Contains(".bmp")) { Directory.CreateDirectory(newDirectory); FileStream selectedFile = new FileStream(files[i], FileMode.Open, FileAccess.Read); int index = files[i].LastIndexOf("\\"); string fileName = files[i].Substring(index); CompressionImageFile.Compress(selectedFile, newDirectory + fileName, files[i]); } else if (files[i].Contains(".txt")) { string content = File.ReadAllText(files[i]); TextFile compressedFile = CompressionTextFile.CompressTextFile(content); var fileInfo = new FileInfo(files[i]); string fileName = fileInfo.Name.Substring(0, fileInfo.Name Length - 4); FileService.WriteFile(newDirectory, fileName, compressedFile.Content); } } filePathlbl.Content = "file path : " + newDirectory; } }
private void DeCompressImageFile(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Compressed Files(.lzw)|*.lzw;"; openFileDialog.InitialDirectory = @"C:\Users\hp\Desktop"; if (openFileDialog.ShowDialog() == true) { FileStream selectedFile = new FileStream(openFileDialog.FileName, FileMode.Open, FileAccess.Read); var fileInfo = new FileInfo(openFileDialog.FileName); sizeBefore.Content = fileInfo.Length + " Byte"; string path = CompressionImageFile.Decompress(selectedFile, openFileDialog.FileName); filePathlbl.Content = "file path : " + path; fileInfo = new FileInfo(path); sizeAfter.Content = fileInfo.Length + " Byte"; imageSelected.Source = new BitmapImage(new Uri(path)); textBox.Visibility = Visibility.Hidden; imageSelected.Visibility = Visibility.Visible; } }