Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/12/2014, 01:39
Avatar de Profesor_Falken
Profesor_Falken
 
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Hasta que acierte un usuario y una contraseña de un archivo text en java n

Buenas,

Que while? Te basta con dos simples variables booleanas.

Código Java:
Ver original
  1. admin = JOptionPane.showInputDialog ("ID admin :");
  2.  
  3. boolean userValid = false;
  4. boolean pwdValid = false;
  5.  
  6. /////////////////// aqui pondria el inicio del (do) para repetir el ciclo en caso que no acierte el usuario o una contraseña
  7.  
  8.     try {
  9.     final BufferedReader reader = new BufferedReader(new FileReader("C:/ficheros/datos.txt"));
  10.  
  11.                             String line = "";  
  12.                             while((line = reader.readLine())!= null) {
  13.                             if(line.indexOf(";")!= -1){
  14.  
  15.                                     if (line.split(";")[0].equalsIgnoreCase(admin)) {
  16.                                         System.out.println("se encontro el usuario "+ admin);
  17.                                         userValid = true;
  18.                                         break;
  19.                                     }
  20.                                 }
  21.  
  22.                                 }reader.close();
  23.                             } catch (FileNotFoundException e) {e.printStackTrace();
  24.                             } catch (IOException           e) {e.printStackTrace();
  25.                             }
  26.  
  27.                    /////// fin de ingreso del nombre usuario
  28.                            
  29.                             String passwordAdmin;
  30.                             passwordAdmin = JOptionPane.showInputDialog ("Password :");
  31.                            
  32.                            try {
  33.   final BufferedReader reader = new BufferedReader(new FileReader("C:/ficheros/datos.txt"));
  34.                                 String line = "";  
  35.                                 while((line = reader.readLine())!= null) {
  36.                                 if(line.indexOf(";")!= -1){
  37.  
  38.                                     if (line.split(";")[0].equalsIgnoreCase(passwordAdmin)) {
  39.                                         System.out.println("se encontro el password ");
  40.                                         pwdValid = true;
  41.                                         break;
  42.                                     }
  43.                                 }
  44.  
  45.                                 }reader.close();
  46.                             } catch (FileNotFoundException e) {e.printStackTrace();
  47.                             } catch (IOException           e) {e.printStackTrace();
  48.                             }
  49.  
  50.  
  51. ///////////// aqui pondria el while validando las dos variables mientras una u otra sean distintas de... repita el ciclo
  52.  
  53. if (userValid && pwdValid) {
  54.     //Puede entrar
  55. } else {
  56.     ///Acceso rechazado
  57. }

Nota: tienes que cerrar los lectores correctamente en un finally. Ejemplo: http://www.java2s.com/Code/Java/Lang...minfinally.htm

Un saludo
__________________
If to err is human, then programmers are the most human of us