error de java.lang.NumberFormatException: For input string: “andres;rodrigues;[email protected];18”

publicado por: Anonymous

Estoy tratando de leer un archivo txt en un jframe y me sale el siguiente error:

ejava.lang.NumberFormatException: For input string: “andres;rodrigues;[email protected];18”

el frame son cuatro columnas

private Object[][] leerusuarios()   {
    Object[][] data;
    try {
        BufferedReader br = new BufferedReader(new FileReader("usuarios.txt"));
        String linea= br.readLine();
        int numFilas=Integer.parseInt(linea);
        data= new Object [numFilas][4];
        for(int i=0;i<numFilas;i++){
            linea=br.readLine();
            String[] datosUsuario=linea.split(";");
            for(int j=0;j<4;j++){
                data [i][j]=datosUsuario[j];
                System.out.println(br.readLine());

                br.close();

    } catch (IOException ex) {

        System.out.println(ex.getMessage());
        data= new Object[0][4];
    }
    return data;
}

Archivo usuarios.txt:

andres;rodrigues;[email protected];18 juan;hernandes;[email protected];20 maria;castro;[email protected];30 david;peña;[email protected];26

solución

El código corregido es. Estaba mal como estaba implementado.

private Object[][] leerusuarios()   {
    Object[][] data;
    try {
        BufferedReader br = new BufferedReader(new FileReader("usuarios.txt"));
        String linea = br.readLine();
        String[] filas = linea.split(" ");
        int numFilas = filas.length;
        data = new Object [numFilas][4];
        for(int i = 0; i < numFilas; i++){
            linea = br.readLine();
            String[] datosUsuario = filas[i].split(";");
            for(int j = 0; j < datosUsuario.length; j++){
                data[i][j] = datosUsuario[j];
                System.out.println(data[i][j]);
            }
        }
        // Se cierra porque ya no se usa mas.
        br.close();
    }catch (IOException ex) { 
         System.out.println(ex.getMessage()); 
         data = new Object[0][4]; 
    } 
    return data;
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *