예제 #1
0
        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.");
            }
        }
예제 #2
0
        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;
            }
        }