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

Funcion split dentro de un try

Estas en el tema de Funcion split dentro de un try en el foro de Java en Foros del Web. Buenas noches, Debo de recorrer mediante un while las lineas de un fichero... estas lineas, me gustaría descomponerlas para comprobar el valor de cada "campo" ...
  #1 (permalink)  
Antiguo 07/03/2016, 13:59
 
Fecha de Ingreso: diciembre-2007
Mensajes: 24
Antigüedad: 16 años, 11 meses
Puntos: 0
Funcion split dentro de un try

Buenas noches,

Debo de recorrer mediante un while las lineas de un fichero... estas lineas, me gustaría descomponerlas para comprobar el valor de cada "campo" de cada una de ellas.

Entonces, quisiera usar la función Split, pero cuando la uso el excepcion salta ¿Por qué? ¿Otra forma de hacerlo?
Gracias



Código:
public void buscarValor()
    {
        String cadena;
        try
        {
            FileReader f=new FileReader(coleccion);
            BufferedReader b= new BufferedReader(f);
           while((cadena=b.readLine())!=null)
                {
                    prueba(cadena);
                     
                }
            }
        catch (Exception e)
        {
            System.out.println("Error en buscar valor");
        }
    }
    public void prueba(String cadena)
    {
        System.out.println(cadena);
        String[] texto = cadena.split(",");
         System.out.println(texto[2]);

    }
  #2 (permalink)  
Antiguo 08/03/2016, 01:26
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Funcion split dentro de un try

Buenas,

Que excepcion salta? Que salida da el programa?

Me da la sensacion de que estas probando con dos textos separados por una coma.
En ese caso texto[2] no existe, ya que lo indices de los arrays comienzan por 0.

Deberias por tanto poner:
Código Java:
Ver original
  1. System.out.println(texto[1]);

O para asegurarte de mostrar el ultimo de los textos:
Código Java:
Ver original
  1. System.out.println(texto[texto.length-1]);

Otra cosa. Para saber la excepcion exacta que da, deberias anadir en la excepcion:

Código Java:
Ver original
  1. catch (Exception e)
  2.         {
  3.             System.out.println("Error en buscar valor");
  4.             e.printStackTrace();
  5.         }

Ya que si no estas perdiendo informacion.

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

Etiquetas: funcion, split, string
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 00:59.