Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: dato000 en 31 Marzo 2011, 21:21 PM

Título: Problema con IOException
Publicado por: dato000 en 31 Marzo 2011, 21:21 PM
Buenas, como han estado gente?

tengo un codigo en cual debo utilizar persistencias (cuentos con el serializable), en el cuál debo leer un archivo serializado con los datos de un estudiante y la universidad a la cual va.

Mi duda radica en que cuando esta haciendo la escritura del objeto leido desde el constructor principal pues me lanza un error y no escribe nada.

porque sucede este error IOException en el metodo guardar(Object ob, String archivo)??

Oh pues no es tanto un error, sino que me sale el mensaje de IOException y me manda al mensaje "ARCHIVO NO SE ALMACENARA" y termina de ejercutar.

Dejo el codigo, cualquier ayuda es agradecida, pista algún dato pues ya revise todo y anda perfecto, pero que joda con estas excepciones!!


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package pruebas;

import datos.Universidad;
import datos.Estudiante;
import utilidades.Operaciones;

/**
*
* @author dato000
*/
public class main {
    public static void main(String[] args) {
       System.out.println("PRUEBA DE SERIALIZACION POR dato000");

       //creacion del objeto universidad para crear el estudiante
       Universidad u = new Universidad();
       u.setCodigo(25);
       u.setDireccion("Ciudad Tunal");
       u.setNombre("La Libre Bosque Popular");

       //Datos del estudiante y creacion del objeto universidad
       Estudiante e = new Estudiante();
       e.setCodigo(534);
       e.setNombre("Dave Mustaine");
       e.setNota1(3.3);
       e.setUniversidad(u);

       //Invocamos la clase operaciones para guardar,
       //enviar el objeto estudiante
       Operaciones op = new Operaciones();

       boolean creado = op.guardar(e, ""+e.getCodigo());
       if(creado)
            System.out.println("ARCHIVO FUE CREADO EXITOSAMENTE");

       Object obj = op.leer("534");
       //Convertir el objeto en estudiante
       Estudiante nuevoEstudio = (Estudiante)obj;

       System.out.println("DATOS LEIDOS DEL ESTUDIANTE");
       System.out.println("NOMBRE DEL ESTUDIANTE:  "+nuevoEstudio.getNombre());
       System.out.println("NOTA DEL ESTUDIANTE:  "+nuevoEstudio.getNota1());
       System.out.println("NOMBRE UNIVERSIDAD DEL ESTUDIANTE:  "+nuevoEstudio.getUniversidad().getNombre());
       System.out.println("DIRECCION DEL ESTUDIANTE:  "+nuevoEstudio.getUniversidad().getDireccion());
         

    }
}




/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package utilidades;

import java.io.*;

/**
*
* @author dato000
*/
public class Operaciones {

   public boolean guardar(Object ob, String archivo){
       {
           ObjectOutputStream is = null;
           try{
               FileOutputStream fis = new FileOutputStream(archivo);
               is = new ObjectOutputStream(fis);
               is.writeObject(ob);
               is.close();
               fis.close();
               return true;
           }catch(FileNotFoundException ex){
               System.out.println("ARCHIVO NO ENCONTRADO");
           }catch(IOException ex){
               System.out.println("ARCHIVO NO SE ALMACENARA");
           }
       }
       return false;
   }

   public Object leer(String archivo){

       try{
           FileInputStream fis = new FileInputStream(archivo);
           ObjectInputStream is = new ObjectInputStream(fis);
           Object objeto = (Object)is.readObject();
           is.close();
           fis.close();
           return objeto;
       } catch(ClassNotFoundException ex){
           System.out.println("NO SE PUEDE CREAR OBJETO LEIDO");
       }catch(FileNotFoundException ex){
           System.out.println("NO SE ENCUENTRA EL ARCHIVO");
       }catch(IOException ex){
           System.out.println("NO SE CREARA EL OBJETO POR ESTAR VACIO");
       }
       return null;
   }

}


En las clases Estudiante y Universidad solo hay encapsulamiento de los datos requeridos para el ejercicio (nombre, direccion, codigo, direccion universidad).

Gracias gente.
Título: Re: Problema con IOException
Publicado por: Tryptophan en 1 Abril 2011, 16:48 PM
El objeto ex de tipo IOException te da información sobre lo que pasa... ¿Googleaste eso?.
Título: Re: Problema con IOException
Publicado por: dato000 en 2 Abril 2011, 05:48 AM
no pasa nada, ya lo solucione habia que serializar las clases. Ok no es más.