Java - Buscar registro fichero

   
Vista:
Imágen de perfil de tesi

Buscar registro fichero

Publicado por tesi (37 intervenciones) el 25/03/2015 12:31:59
Buenas a ver si me podriais ayudar. Me piden que al introduccir el Nº.S.S(nº de seguridad social) me diga si existe o no el empleado y me muestre la linea(empleado).
Pues si lo introduzco bien por ejemplo "5555a" el Nº.S.S me muestra el empleado al completo, dni,nombre,apellido,nº.s.s y si lo introduzco mal "fdasfa" me dice que no. Vale hasta ahi todo bien, el problema es que por ejemplo si yo introduzco "5" me saca tambien ese empleado porque contiene un "5" y ahi esta el error, no sabria como solucionarlo... a ver si podeis ayudarme, gracias de antemano.

CODIGO:
public void buscarEmpleado () {

File archivo = null;
FileReader fr = null;
BufferedReader br = null;
System.out.println("Introduce nº seguridad social del empleado a buscar: ");
String lineaBuscar=teclado.nextLine();
try {
// Apertura del fichero y creacion de BufferedReader para poder
// hacer una lectura comoda (disponer del metodo readLine()).
archivo = new File ("C:\\Users\\Tesi\\Documents\\NetBeansProjects\\GestionEmpleados\\src\\usa_empleado\\empleados.dat");
fr = new FileReader (archivo);
br = new BufferedReader(fr);
// Lectura del fichero linea a linea
String linea;
boolean encontrado = false;
String lineaEncontrada = null;
while((linea=br.readLine())!=null && !encontrado) {
// buscar la cadena palabra en la linea leida
if (linea.indexOf(lineaBuscar) != -1) {
encontrado = true;
lineaEncontrada = linea;
}
}
if (encontrado) {
//System.out.println ("Encontrada la palabra " + lineaBuscar + " en la linea nº " + num);
System.out.println ("El empleado con nº de seguridad social "+lineaBuscar+" si esta registrado: \n" + lineaEncontrada );
}
else
System.out.println ("El empleado con nº de seguridad social "+lineaBuscar+" No está registrado." );
} catch(Exception e) {
e.printStackTrace();
}finally{
// En el finally cerrar el fichero, para asegurarse
// que se cierra tanto si todo va bien como si salta una excepcion.
try {
if (null != fr)
fr.close();
if (br != null)
br.close();
} catch (Exception e2) {
e2.printStackTrace();
}
} // fin finally
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder