Пример #1
0
        private void btnDeserealizarBinario_Click(object sender, EventArgs e)
        {
            try
            {
                string ruta = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\Archivo-Kevin-Quevedo.bin";
                SerializadorBinario <Pedidos> archivoSerializable = new SerializadorBinario <Pedidos>(ruta);
                List <Pedidos> pedidos = archivoSerializable.Leer();

                MessageBox.Show("El archivo se deserializó de Binario con exito!");
                StringBuilder sb = new StringBuilder();
                foreach (Pedidos item in pedidos)
                {
                    sb.AppendLine(item.InformacionPedido());
                }
                MessageBox.Show(sb.ToString());
            }
            catch (ArgumentNullException)
            {
                MessageBox.Show("La ruta de acceso es null.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (ArgumentException)
            {
                MessageBox.Show("Los caracteres de la ruta, no son validos.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (FileNotFoundException)
            {
                MessageBox.Show("El archivo no existe.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (DirectoryNotFoundException)
            {
                MessageBox.Show("El directorio no existe.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (PathTooLongException)
            {
                MessageBox.Show("La ruta supera la longitud maxima.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (IOException)
            {
                MessageBox.Show("El archivo está en uso.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (NotSupportedException)
            {
                MessageBox.Show("La ruta contiene dos puntos o un formato invalido.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (SecurityException)
            {
                MessageBox.Show("El usuario no posee permisos.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (Exception)
            {
                MessageBox.Show("Ocurrio un error inesperado.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
 private void DeserializarBinario()
 {
     try
     {
         string ruta = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\Prueba.bin";
         SerializadorBinario <Persona> serializadorBinario = new SerializadorBinario <Persona>(ruta);
         Persona persona = serializadorBinario.Leer();
         richTextBoxPersona.Text = persona.ToString();
     }
     catch (Exception)
     {
         MessageBox.Show("Ocurrió un error inesperado.", "ERROR",
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Пример #3
0
        private void DeserializarBinario()
        {
            try
            {
                Persona persona        = null;                                                                          //Que quiero serializar??
                string  rutaEscritorio = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Prueba.bin"; //Donde?
                SerializadorBinario <Persona> serializadorBinario = new SerializadorBinario <Persona>(rutaEscritorio);  //Como?

                persona         = serializadorBinario.Leer();                                                           //Deserializo
                rtbPersona.Text = persona.ToString();                                                                   //Lo muestro en el richTextBox
            }
            catch (Exception)
            {
                MessageBox.Show("Ocurrió un error inesperado", "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }