Programación General > Java

 Archivos En Java

(1/2) > >>

markdark:
Hola necesito que me ayuden con este problema ....     necesito guardar en un archivo un arreglo de objetos de la clase alumno en la clase alumno me piden nombre   edad y direccion  como hago para guardar un arreglo de objetos de esa clase y copmo hago para poder accesar a los datos de cada objeto?????'  hracias espero me apoyen con este problemilla

antony_soluciones:
Hola

Primero la clase alumno debe estar serializada(osea que implementa la interfaz Serializable), segundo la clase que contiene el arreglo de objetos del tipo alumno también debe estar serializada y tercero se almacena en el discoduro con ObjectOutputStream pasandole como parametro al constructor un FileOutputStream, para leerlo se hace con ObjectInputStream y se le pasa un FileInputStream que contiene la ruta de donde quédó almacenado el objeto

Saludos.

markdark:
mmmm la verdad es que no te entendi nada ... seriaS TAN AMABLE DE MANDARME UN EJEMPLITO??? GRXS

antony_soluciones:
Aquí hay un ejemplito.


--- Código: Text ---public class NewClass {    static class Serial implements Serializable{        public Integer valor = 5;        public Serial(){                    }    }   public static void main(String... a){        try {            FileOutputStream fich = new FileOutputStream("C:/miObj.obj");            ObjectOutputStream obj = new ObjectOutputStream(fich);            Serial s = new Serial();            s.valor = 10;            obj.writeObject(s);            obj.close();            FileInputStream fichIn = new FileInputStream("C:/miObj.obj");            ObjectInputStream objIn = new ObjectInputStream(fichIn);            Serial sIn = (Serial)objIn.readObject();            System.out.println(sIn.valor);            objIn.close();//            BufferedOutputStream out = new BufferedOutputStream(System.out);//            DataOutputStream data = new DataOutputStream(System.out);//            data.writeBytes("hola mundo");            //            data.close();        } catch (ClassNotFoundException ex) {            Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);        } catch (IOException ex) {            Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);        }   }} 

markdark:
disculpa por molestar pero este programa no ejecuta tuve que quitarle estas dos lineas

Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
   
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);

el compilador(jCreator)   no reconoce las palabras Logger ni level bueno les quite esas lineas y compilo pero al momento de ejecutarno muestra nada y se supone que deberia mostrar algun valor

bueno io he estado intentando guiarme de tu ejemplo... y elabora el mio pero no entiendo de donde sale la interfax serializable??? que significa eso no entiendo...

ia mira aca te mando el codigo que he estado haciendo:



--- Código: Text ---  import java.io.*;  public class prueba{              public static void main(String args[]){            try {           FileOutputStream fich = new FileOutputStream("C:/prueb1.txt");           ObjectOutputStream obj = new ObjectOutputStream(fich);                      pokemon p=new pokemon();           p.ingresaDatos();           obj.writeObject(p);           obj.close();                                 FileInputStream fichIn = new FileInputStream("C:/prueb1.txt");           ObjectInputStream objIn = new ObjectInputStream(fichIn);           pokemon s = (pokemon)objIn.readObject();           s.muestraDatos();           objIn.close();      } catch (ClassNotFoundException ex) {               }catch (IOException ex) {               }          }    } 

aqui otra clase de la que deseo guardar los objetos



--- Código: Text --- public class pokemon implements Serializable{    public String nomb;    public pokemon() {    }        public void ingresaDatos(){            System.out.println("nombre: ");      nomb=Leer.leerDato();    }        public void muestraDatos(){            System.out.println("nombre: "+ nomb);    }} 

La clase Leer tiene los metodos que sirven para leer datos



--- Código: Text ---  import java.io.*;public class Leer {      public static String leerDato(){        String dato;    try {      BufferedReader teclado=new BufferedReader(new InputStreamReader(System.in));       dato=teclado.readLine().trim();    }catch(Exception e){       dato=" ";    }        return dato;    }        public static int aEntero(String cadena){      int dato;     try{       dato=Integer.parseInt(cadena);               }catch(Exception e){          dato=-1;        }        return dato;        }     public static long aEnteroLargo(String cadena){      long dato;     try{       dato=Long.parseLong(cadena);               }catch(Exception e){          dato=-1;        }        return dato;        }  public static double aReal(String cadena){      double dato;     try{       dato=Double.parseDouble(cadena);               }catch(Exception e){          dato=-1;        }        return dato;        }          public static void mostrar(String cadena){    System.out.println(cadena);  }    public static void mostrarSeguido(String cadena){    System.out.print(cadena);  }              }      

Cuando ejecuto la clase Prueba solamente me pide el dato pero despues no muestra nada... nos e porque espero me respondas gracias por todo....

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa