如何用ruby读取指定的文件行

Python023

如何用ruby读取指定的文件行,第1张

ruby读取指定的行,可以使用readlines将整个文件的内容读取到一个数组中,再获得指定行的数据

arr = io.readlines

p arr[9] # 读出第10行的数据

如果不需要递归删除文件夹里子文件夹的内容,下面这个就可以了。

directory = "D:\\data"

Dir.foreach(directory) do |item|

if item != '.' and item != '..'

u_dir = directory + File::Separator + item

if File.stat(u_dir).directory?

Dir.foreach(u_dir) do |f|

if File.stat(u_dir + File::Separator + f).file?

File.delete(u_dir + File::Separator + f)

end

end

end

end

end

#encoding:gbk

df='d:/deletedfile/20121123141928/deletefiles.txt'

file=File.new(df)

while line=file.gets

Dir.mkdir line.to_s

end

file.close

########################################

运行虽无报错,但程序。。。

###############我改进一下##############

#encoding: utf-8

df='d:/deletedfile/20121123141928/deletefiles.txt'

file=File.new(df)

File.open(file,'r').each { |line|

#p line.class

if line.strip != ''

Dir.mkdir line.to_s #如果存在会建立失败!

puts '成功建立了吧应该!'

else

puts '失败!'

end

}

file.close

###############这样可以循环读取行##############