在 Ruby 中读取文件的行

Stewart Nguyen 2023年1月30日 2022年5月18日
  1. 在 Ruby 中使用 File#readlines 读取文件的行
  2. 在 Ruby 中使用 File#foreach 读取文件的行
在 Ruby 中读取文件的行

在 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

相关文章 - Ruby File