在Ruby中读取文件的常见方法有哪些?
例如,这里有一个方法:
fileObj = File.new($fileName, "r")
while (line = fileObj.gets)
puts(line)
end
fileObj.close
我知道Ruby非常灵活。每种方法的优点/缺点是什么?
在Ruby中读取文件的常见方法有哪些?
例如,这里有一个方法:
fileObj = File.new($fileName, "r")
while (line = fileObj.gets)
puts(line)
end
fileObj.close
我知道Ruby非常灵活。每种方法的优点/缺点是什么?
当前回答
如果文件很小(吸声):
puts File.read("filename.txt")
如果文件很大(流媒体):
File.foreach("filename.txt") { |line| puts line }
其他回答
一个简单的方法是使用readlines:
my_array = IO.readlines('filename.txt')
输入文件中的每一行都是数组中的一个条目。该方法为您处理打开和关闭文件的操作。
返回your_file.log或.txt中的最后n行
path = File.join(Rails.root, 'your_folder','your_file.log')
last_100_lines = `tail -n 100 #{path}`
content = `cat file`
我认为这种方法是最“不寻常”的一种。也许这有点棘手,但如果安装了cat,它就可以工作。
如果文件很小(吸声):
puts File.read("filename.txt")
如果文件很大(流媒体):
File.foreach("filename.txt") { |line| puts line }
file_content = File.read('filename with extension');
puts file_content;
http://www.ruby-doc.org/core-1.9.3/IO.html#method-c-read