在 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