private void serializarObjeto() { Archivo curArchivo = (Archivo)listBox.SelectedItem; if(curArchivo != null) { string result = System.IO.Path.ChangeExtension(curArchivo.Ruta, ".hf"); HuffmanTree saveFiles = new HuffmanTree(); saveFiles = huffmanTree; if (encodedBitArray != null) { saveFiles.compressedText = encodedBitArray; Stream stream = File.Open(result, FileMode.Create); BinaryFormatter bformatter = new BinaryFormatter(); Console.WriteLine("Writing Employee Information"); bformatter.Serialize(stream, saveFiles); stream.Close(); cargarLista(actualPath); MessageBox.Show("Archivo guardado en el directorio actual."); } else if (encodedBitArray == null) { MessageBox.Show("Selecciona un archivo primero."); } } else if (curArchivo == null) { MessageBox.Show("Selecciona un archivo primero."); } }
private void listBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) { Archivo curArchivo = (Archivo)listBox.SelectedItem; string[] files = new string[1]; files[0] = curArchivo.Ruta; if (System.IO.Path.GetExtension(curArchivo.Ruta).Contains("txt")) { createHuffmanTextFiles(files); Console.Write(FinalString); huffmanTree = new HuffmanTree(); huffmanTree.Build(FinalString); fillCharCount(); fillOriginalText(); LabelURL.Content = ""; LabelURL.Content = curArchivo.Ruta; fillEncodeText(FinalString); } if ((System.IO.Path.GetExtension(curArchivo.Ruta).Contains("hf"))) { Stream stream = File.Open(curArchivo.Ruta, FileMode.Open); BinaryFormatter bformatter = new BinaryFormatter(); HuffmanTree objetoRecuperado = (HuffmanTree)bformatter.Deserialize(stream); stream.Close(); //mostrar la informacion en el computador una vez mas var sb = new StringBuilder(); for (int i = 0; i < objetoRecuperado.compressedText.Count; i++) { char c = objetoRecuperado.compressedText[i] ? '1' : '0'; sb.Append(c); } //return sb.ToString(); TextBoxCompress.Text = sb.ToString(); encodedBitArray = objetoRecuperado.compressedText; huffmanTree = objetoRecuperado; } }