Foro de elhacker.net

Programación => Java => Mensaje iniciado por: KeyPy HH en 5 Mayo 2012, 23:54 pm



Título: Ayuda con esta clase en Java de Ficheros
Publicado por: KeyPy HH en 5 Mayo 2012, 23:54 pm
Hola Gente! Lamento molestar por aca, es la primera vez que lo hago, pero me he cansado de googlear (o no he sabido hacerlo), y aun no entiendo bien lo que hace esta clase en Java! Si me pudieran decir que hacen los metodos y porque los atributos archivoIn y archivoOut se declaran asi, se los agradeceria!

Código
  1. package proyecto;
  2. import java.io.*;
  3.  
  4. public class Archivo{
  5. static private ObjectInputStream archivoIn;
  6. static private ObjectOutputStream archivoOut;
  7.  
  8. static public Object abrir(String archivo){
  9. Object objeto = null;
  10.        try{
  11.           archivoIn = new ObjectInputStream(new FileInputStream(archivo));  
  12.           objeto = archivoIn.readObject();
  13.           archivoIn.close();
  14.        }
  15.        catch(Exception er){
  16.           //System.out.println("Generando archivo " + archivo);
  17.        }
  18.        return objeto;  
  19.    }
  20.  
  21. static public void guardar(Object objeto,String archivo){
  22. try{
  23.    archivoOut = new ObjectOutputStream(new FileOutputStream(archivo));
  24.    archivoOut.writeObject(objeto);
  25.    archivoOut.close();
  26. }
  27. catch(Exception er){
  28.   System.out.println("Error al guardar los datos..!");
  29.   System.out.println(er);
  30. }      
  31. }
  32. }


Título: Re: Ayuda con esta clase en Java de Ficheros
Publicado por: ELMED en 8 Mayo 2012, 14:31 pm
Primero que todo  archivoIn no es un atributo si no una variable de tipo Object. El metodo abrir lo que hace es recibir como parametro un String con la ruta de un fichero despues
Object objeto = null;// Crea un objeto
archivoIn = new ObjectInputStream(new FileInputStream(archivo)); //abre un flujo asia el fichero recibido por parametro
objeto = archivoIn.readObject();//almacena los byte en objeto
archivoIn.close();//cierra el flujo
return objeto; //retorna el objeto con la info del fichero

El metodo guardar lo que hace es recibir como parametro el objecto "por logica el que retorna el metodo abrir" y una ruta donde lo va a guardar.
 archivoOut = new ObjectOutputStream(new FileOutputStream(archivo)); // Abre un flujo al fichero a crear
archivoOut.writeObject(objeto);//Escribe el el el objeto que recibe como parametro
 archivoOut.close();//cierra el flujo