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

:: Propiedades ACID en transacciones

En el contexto de las transacciones, el acrónimo ACID hace referencia a las 4 propiedades de una transacción: atomicidad, coherencia, aislam...