Secciones

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: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Groovy: primeros pasos

Problema al no querer leer la primera línea de un fichero

JoseAngel - lunes 02/11/2009

Hola 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

Nacho - martes 03/11/2009

Hola 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,

Re: Problema al no querer leer la primera línea de un fichero

JoseAngel - martes 03/11/2009

Muchas gracias! Es mucho más elegante que lo que tenía antes.

Saludos

 

Responder al hilo | Volver al foro "Groovy: primeros pasos" | Volver a los foros