在本章中,我们将深入探讨如何使用 Ruby 进行文件操作。这包括读取文件、写入文件、追加内容到文件以及删除文件等基本操作。此外,我们还将讨论一些更高级的文件处理技术,例如文件复制和重命名。
打开和关闭文件
在 Ruby 中,可以使用 File.open 方法来打开一个文件。这个方法接收一个文件名和一个模式作为参数。常用的模式包括 'r'(只读)、'w'(写入,如果文件已存在则会被截断)、'a'(追加)等。
file = File.open("example.txt", "r")当你完成对文件的操作后,记得调用 close 方法来关闭文件:
file.close
为了确保文件在程序执行完毕后总是被正确关闭,推荐使用 File.open 的块形式。这样可以自动处理文件关闭,即使发生异常也不会忘记关闭文件:
File.open("example.txt", "r") do |file|
# 在这里进行文件操作
end读取文件
逐行读取
使用 readlines 方法可以将文件内容按行读取为数组:
lines = File.readlines("example.txt")
puts lines[0] # 输出第一行或者,你可以使用 each_line 方法来逐行处理文件内容:
File.foreach("example.txt") do |line|
puts line
end一次性读取全部内容
如果你需要一次性读取整个文件的内容,可以使用 read 方法:
content = File.read("example.txt")
puts content写入文件
创建或覆盖文件
要创建一个新的文件或覆盖已存在的文件,可以使用 'w' 模式:
File.open("output.txt", "w") do |file|
file.write("Hello, world!")
end追加内容
如果希望向现有文件中追加内容而不是覆盖它,应使用 'a' 模式:
File.open("output.txt", "a") do |file|
file.puts("This is a new line.")
end删除文件
使用 File.delete 或 File.unlink 方法可以删除指定的文件:
File.delete("example.txt")文件复制与移动
复制文件
使用 FileUtils.copy_entry 方法可以复制文件:
require 'fileutils'
FileUtils.copy_entry("source.txt", "destination.txt")移动/重命名文件
要移动文件或重命名文件,可以使用 move 或 rename 方法:
File.rename("old_name.txt", "new_name.txt")获取文件信息
使用 File.stat 方法可以获得关于文件的各种信息,如修改时间、大小等:
stat = File.stat("example.txt")
puts stat.size # 文件大小
puts stat.mtime # 最后修改时间总结
本章详细介绍了如何使用 Ruby 进行基本的文件操作,包括打开和关闭文件、读取和写入文件内容、删除文件以及复制和移动文件等。掌握这些基础技能是进行更复杂文件处理的前提。接下来,我们可以探索更多高级文件处理技巧和库的使用。