在 Ruby 中读取文件的行
Stewart Nguyen
2023年1月30日
2022年5月18日
在 Ruby 中,File
对象是当前程序可以访问的任何文件的抽象。
由于各种原因,我们需要处理文件,包括以 CSV 格式导出月度报告、读取数据文件以及将它们导入到我们的数据库中。
这篇文章将介绍在 Ruby 中读取文件的两种不同方法。
在 Ruby 中使用 File#readlines
读取文件的行
File#readlines
接受一个文件名来读取并返回一个行数组。换行符 \n
可以包含在每一行中。
lines = File.readlines('foo')
输出:
["line 1\n", "line 2"]
处理大文件时必须小心,File#readlines
将一次读取所有行并将它们加载到内存中。
在 Ruby 中使用 File#foreach
读取文件的行
File#foreach
接受一个文件名和一个指定如何处理当前行的块。foreach
优于 readlines
因为它逐行读取;因此它使用更少的内存。
File.foreach('foo') do |line|
puts line
end
输出:
line 1
line 2