Lo + Leído
Eventos destacados
Artículos para tus primeros pasos
Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos:
- Introducción a Groovy, parte 1 (Andrés Almiray)
- Introducción a Groovy, parte 2 (Andrés Almiray)
- Introducción a Groovy, parte 3 (Andrés Almiray)
- Introducción a Grails (Material Seminario ImaginaWorks)
Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:
Groovy: primeros pasos
Problema al no querer leer la primera línea de un fichero
JoseAngel - lunes 02/11/2009Hola grupo,
Tengo un fichero del que debo sacar unos usuarios y la primera linea contiene de este fichero contiene el título de cada campo, es decir: NOMBRE;APELLIDO1;...
Una solución es esto que he hecho:
def f1= new File('fichero.csv')
f1.splitEachLine(';'){ lista ->
if (lista[0] != 'NOMBRE') {
println lista[0] + ' ' + lista[1]
}
}
¿Cómo podría no leer la primera línea del fichero? He intentado con readLine() como con Java pero en Groovy no funciona. He ojeado la API de Groovy pero me he quedado como estaba.
Saludos y gracias
Re: Problema al no querer leer la primera línea de un fichero
JoseAngel - martes 03/11/2009Muchas gracias! Es mucho más elegante que lo que tenía antes.
Saludos
Un momento...
Re: Problema al no querer leer la primera línea de un fichero
Nacho - martes 03/11/2009Hola José Ángel,
el método splitEachLine siempre va a empezar a leer desde el principio del archivo, así que no puedes hacer nada para "colocar el cursor" antes de invocarlo. Si acaso, puedes hacer alguna comprobación más ligera para que se ejecute más rápido, por ejemplo:
def fila = 0
f1.splitEachLine(';'){ lista ->
if(fila++ > 0){
...
}
}
De esta manera no comparas cadenas de texto, sino números. A primera vista debería ejecutarse algo más rápido.
Saludos,