Foros del Web » Programación para mayores de 30 ;) » Java »

Como leer un objeto por su codigo en un archivo binario

Estas en el tema de Como leer un objeto por su codigo en un archivo binario en el foro de Java en Foros del Web. Estoy trabajando con objetos y guardandolos en un archivo binario y deseo ayuda con el metodo de buscar un paciente a traves de su numero ...
  #1 (permalink)  
Antiguo 16/04/2015, 15:10
 
Fecha de Ingreso: abril-2015
Mensajes: 3
Antigüedad: 9 años, 8 meses
Puntos: 0
Como leer un objeto por su codigo en un archivo binario

Estoy trabajando con objetos y guardandolos en un archivo binario y deseo ayuda con el metodo de buscar un paciente a traves de su numero de expediente o DNI el codigo de guardar es el sguiente:

private void btcGuardarActionPerformed(java.awt.event.ActionEve nt evt) {
// TODO add your handling code here:
Object nombreArchivo = archivo;
System.out.println(nombreArchivo);
try{
ObjectOutputStream fileout = new ObjectOutputStream(new FileOutputStream((String) nombreArchivo));
fileout.writeObject(txtNroExpediente.getText());
fileout.writeObject(txtDni.getText());
fileout.writeObject(txtApellidos.getText());
fileout.writeObject(txtNombres.getText());
fileout.writeObject(txtDireccion.getText());
fileout.writeObject(txtTelefono.getText());
fileout.writeObject(lblFoto.getIcon());
JOptionPane.showMessageDialog(null, "Los datos del paciente se guardaron corecttamente...");
if(fileout!=null){
fileout.close();
}
}catch(IOException e){}
desactivarTextFields();
btcGuardar.setEnabled(false);
btcNuevo.setEnabled(true);
btcBuscar.setEnabled(false);
}

el de buscar es el siguiente y solo me muestra el ultimo ingresado.
private void btcBuscarActionPerformed(java.awt.event.ActionEven t evt) {
// TODO add your handling code here:
Object nombreArchivo = archivo;
try{
try (ObjectInputStream filein = new ObjectInputStream(new FileInputStream((String) nombreArchivo))){
Object expediente = filein.readObject();
Object dni = filein.readObject();
Object apellidos = filein.readObject();
Object nombres = filein.readObject();
Object direccion = filein.readObject();
Object telefono = filein.readObject();
Object foto = filein.readObject();
txtNroExpediente.setText((String) expediente);
txtDni.setText((String) dni);
txtApellidos.setText((String) apellidos);
txtNombres.setText((String) nombres);
txtDireccion.setText((String) direccion);
txtTelefono.setText((String) telefono);
lblFoto.setIcon((Icon) foto);
if(filein!=null){
filein.close();
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(JDPacientes.class.getName()).log( Level.SEVERE, null, ex);
}
}catch(IOException e){}
}

gracias de antemano.
  #2 (permalink)  
Antiguo 16/04/2015, 15:57
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 7 meses
Puntos: 306
Respuesta: Como leer un objeto por su codigo en un archivo binario

Cada vez que guardas un nuevo paciente no lo estás añadiendo al fichero, estás sustituyendo el fichero.

http://stackoverflow.com/questions/1...ctoutputstream

Mejor que lo intentes con ficheros de texto plano.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 18/04/2015, 13:58
 
Fecha de Ingreso: abril-2015
Mensajes: 3
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Como leer un objeto por su codigo en un archivo binario

Gracias por tu atencion a mi consulta. lo que pasa es que hasta donde tengo entendido en los archivos de texto plano no se pueden guardar fotos y los datos de los pacientes tienen foto. si me puedes orientar en la linea de mi codigo en que guarda, como aplicar lo de tu direccion link porque me lleva a una pagina en ingles.

Etiquetas: binario, objeto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.