Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - hubben

#1
Java / Re: Java leer datos serializados
3 Junio 2013, 21:25 PM
Buenas,
si, si existe la clase Candidato

los estoy metiendo así :

Aclaraciones : CrearCandidato es una interfaz con jTextField, tenngo que guardar los datos que meto en ellos, y despues poder buscar en esos datos la palabra que quiero y mostrar unicamente a ese candidato

Citarpublic static boolean introducirCandidato() throws AgenciaException {
       Candidato can = new Candidato(CrearCandidatos.jTextField1.getText(), CrearCandidatos.jTextField2.getText(),
               Integer.parseInt(CrearCandidatos.jTextField3.getText()), Double.parseDouble(CrearCandidatos.jTextField14.getText()),
               Integer.parseInt(CrearCandidatos.jTextField15.getText()));

       //Introducimos lo introducido en el jtextField en un nuevo candidato
       candidato.put(nuevoCandidato, can);
       return true;
   }

     
Aclaracion : 'candidato' es un hashmap tal que así

Citarstatic HashMap<String, Candidato> candidato = new HashMap<>();



Citarpublic static void serializar() {
       FileOutputStream fosPro;
       try {
           fosPro = new FileOutputStream("candidatos.dat");
           ObjectOutputStream oosPro = new ObjectOutputStream(fosPro);
           oosPro.writeObject(candidato);
           Integer cont = new Integer(Candidato.getContador());
           oosPro.writeObject(cont);

       } catch (FileNotFoundException ex) {
           Logger.getLogger(Candidato.class.getName()).log(Level.SEVERE, null, ex);
       } catch (IOException ex) {
           Logger.getLogger(Candidato.class.getName()).log(Level.SEVERE, null, ex);
       }
   }


Lo que pasa es eso, que se guardan, pero al buscarlos, no sé como hacerlo, quizás como tu digas que estoy confundiendo la deserializacion.

por ahí he leído que meta los datos en arrays también aparte de serializarlos para después que sea más facil buscarlos, pero también ando perdido en como leer unicamente un candidato con esto

Gracias, un saludo
#2
Java / Java leer datos serializados
3 Junio 2013, 11:57 AM
Buenas, mi problema es que al leer los datos serializados en java, no consigo encontrar la forma de buscar por sus palabras un dato de los que he metido, es decir,

Yo introduzco unos "Candidatos",  con un nombre, nif, telefono... , y lo que quiero es poder buscar una palabra de estos Candidatos y que unicamente me de el candidato serializado que contenga esa palabra

Yo busco : "juan"
Saldría : "Nombre : juan, NIF : 52554454K, telefono : 91678887878"


El trozo que tengo de código que he podido hacer es este :



   public static String CandidatoOficial() throws FileNotFoundException, UnsupportedEncodingException, IOException {
       String palabra = null;
       String cad;
       FileInputStream fis = new FileInputStream("candidatos.dat");
       InputStreamReader isr = new InputStreamReader(fis, "ISO-8859-1");
       BufferedReader br = new BufferedReader(isr);
       while ((cad = br.readLine()) != null) {
    //Nos dice si se encuentra, si es -1, no es encontrado
           if (cad.indexOf(BuscarCandidatos.jTextField2.getText().toString()) != -1) {
               palabra =  candidato.toString() + "    ,encontrado";
             }else {
               palabra = "No Encontrado ";
           }
       }
       return palabra;
   }


Si, me da todos valores del candidato, lo sé, no sé hacer la distinción.

Bueno, esa es mi duda, si alguien puede ayudarme...

Muchas gracias!