Breves métodos para leer ficheros de texto.
Leemos y obtenemos cada linea del fichero en una posición de un array
f = File.new("fichero.txt")
array_lineas_de_fichero = f.readlines
f.close
#quitamos los saltos de linea en cada elemento del array, si nos interesa
array_lineas_de_fichero.collect! {|x| x.strip}
Tratamos todos los ficheros de un directorio de una extensión determinada
Dir.chdir(@dir) #@dir:: mi directorio de interés
myfiles = File.join("**", "*.EXTENSION")
# para cada fichero de extensión EXTENSION en todos los subdirectorios
# si no nos interesasen los subdirectorios, eliminariamos "**"
Dir.glob(myfiles) { |file|
process_file file
}
Y el método anterior process_file podría ser:
def process_file (aFile)
File.open(aFile){|ioF|
counter=0 # ¿para contar las lineas?
while (line = ioF.gets)
# con esto leemos también cada linea y la podemos tratar...
process_line line
counter = counter + 1
end
puts "-" + aFile + " --> " + counter.to_s + " lineas"
}
end