28 de mayo de 2021

:: Java. Método split


Por ejemplo en el caso de leer un fichero .csv línea a línea, el error obtenido era "indexOutOfBound".

El fichero de ejemplo a leer era del tipo: "valor1;valor2;;;;;;;"


El código para leer el fichero era:

br = new BufferedReader(new FileReader(fichero));

    

while ((line = br.readLine()) != null) {

Scanner scanner = new Scanner(line);

String[] datos = line.split(cvsSplitBy);

}


El problema es que el método split no devuelve el elemento en el caso de que este sea nulo, es decir, al hacer el split de la línea, el valor devuelto era: "valor1;valor2" y al tratar de acceder a la tercera posición del srting devuelve error.

La solución es indicarle al método split que devuelva estos elementos aunque sean nulos:


br = new BufferedReader(new FileReader(fichero));

    

while ((line = br.readLine()) != null) {

Scanner scanner = new Scanner(line);

String[] datos = line.split(cvsSplitBy,-1);

}


El cambio respecto al código anterior es añadir como segundo parámetro al método "split" el valor: "-1"



No hay comentarios:

Publicar un comentario

Déjanos tu comentario

:: Cookies de nuestra página web. ¿Para qué sirve cada una?

A menudo una pregunta que nos hacen es qué cookies se están utilizando en mi página y para qué sirven. Para ver las cookies, podemos selecci...