コード例 #1
0
        static void Main(string[] args)
        {
            string file_name = AppDomain.CurrentDomain.BaseDirectory + "SerializacionBinaria.dat";
            Dato   dato      = new Dato("Juan", 15, 22222222);

            BinaryFormatter ser = new BinaryFormatter();

            FileStream fs = new FileStream(file_name, FileMode.Create);

            try
            {
                ser.Serialize(fs, dato);
            }
            catch (SerializationException e)
            {
                Console.WriteLine("Failed to serialize. Reason: " + e.Message);
            }
            finally
            {
                fs.Close();
            }

            FileStream fst = new FileStream(file_name, FileMode.Open);

            try
            {
                Dato aux = new Dato();

                //aux = (Dato)ser.Deserialize(fst);
                aux = (Dato)ser.Deserialize(fst);

                Console.WriteLine(aux.ToString());
                Console.ReadLine();
            }
            catch (SerializationException e)
            {
                Console.WriteLine("Failed to deserialize. Reason: " + e.Message);
                throw;
            }
            finally
            {
                fst.Close();
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            //Creo un objeto de tipo Dato
            Dato dato = new Dato("Juan", 15, 22222222, "Juancho");

            //Creo un BinaryFormatter para serializar a Binario
            BinaryFormatter ser = new BinaryFormatter();

            //Creo un FileStream para guardar la info
            //Indico que voy a crear el archivo
            FileStream fs = new FileStream("C:\\Dato.dat", FileMode.Create);

            Console.WriteLine("Serializando a binario...");
            Console.ReadLine();

            try
            {
                //Utilizo el método Serialize para serializar a Binario
                ser.Serialize(fs, dato);
            }

            catch (SerializationException e)
            {
                Console.WriteLine("Falló la serialización. Razones: " + e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Se ha provocado un error: " + e.Message);
            }
            finally
            {
                fs.Close();
            }

            Console.WriteLine("Deserializando....");
            Console.ReadLine();

            //Creo un FileStream para leer la info
            //Indico que voy a abrir el archivo
            FileStream fst = new FileStream("C:\\Dato.dat", FileMode.Open);

            try
            {
                Dato aux;

                //Utilizo el método Deserialize para recuperar la info
                //'Casteo' a Dato, ya que Deserialize retorna un Object
                aux = (Dato)ser.Deserialize(fst);

                Console.WriteLine(aux.ToString());

                Console.ReadLine();
            }
            catch (SerializationException e)
            {
                Console.WriteLine("Falló la deserialización. Razones: " + e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Se ha provocado un error: " + e.Message);
            }
            finally
            {
                fst.Close();
                Console.WriteLine("Pulse una tecla para finalizar...");
                Console.ReadLine();
            }
        }