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 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 CompressTextFile(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = true; openFileDialog.Filter = "Text files (*.txt)|*.txt"; openFileDialog.InitialDirectory = @"C:\Users\hp\Desktop"; if (openFileDialog.ShowDialog() == true) { var fileInfo = new FileInfo(openFileDialog.FileName); sizeBefore.Content = fileInfo.Length + " Byte"; string content = File.ReadAllText(openFileDialog.FileName); textBox.Text = content; TextFile compressedFile = CompressionTextFile.CompressTextFile(content); sizeAfter.Content = compressedFile.Size + " Byte"; string directoryName = fileInfo.DirectoryName.ToString(); string fileName = fileInfo.Name.Substring(0, fileInfo.Name.Length - 4); filePathlbl.Content = "file path : " + FileService.WriteFile(directoryName, fileName, compressedFile.Content); textBox.Visibility = Visibility.Visible; imageSelected.Visibility = Visibility.Hidden; } }
private void DecompressTextFile(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Text files (*.fano)|*.fano"; openFileDialog.InitialDirectory = @"C:\Users\hp\Desktop"; if (openFileDialog.ShowDialog() == true) { byte[] content = File.ReadAllBytes(openFileDialog.FileName); KeyValuePair <int, TextFile> decompressTextFile = CompressionTextFile.DecompressTextFile(content); TextFile compressedFile = decompressTextFile.Value; sizeBefore.Content = compressedFile.Size + " Byte"; string _content = Encoding.UTF8.GetString(compressedFile.Content, 0, compressedFile.Content.Length); textBox.Text = _content; File.WriteAllText(openFileDialog.FileName.Substring(0, openFileDialog.FileName.Length - 15) + ".txt", _content); sizeAfter.Content = decompressTextFile.Key + " Byte"; filePathlbl.Content = "file path : " + openFileDialog.FileName.Substring(0, openFileDialog.FileName.Length - 15) + ".txt"; textBox.Visibility = Visibility.Visible; imageSelected.Visibility = Visibility.Hidden; } }