Ruby文件读写 #

一、File类基础 #

1.1 打开文件 #

ruby
file = File.open("test.txt", "r")
content = file.read
file.close

File.open("test.txt", "r") do |file|
  content = file.read
end

1.2 文件模式 #

模式 描述
r 只读
w 只写(覆盖)
a 追加
r+ 读写
w+ 读写(覆盖)
a+ 读写(追加)
b 二进制模式

1.3 读取文件 #

ruby
content = File.read("test.txt")

File.foreach("test.txt") do |line|
  puts line
end

lines = File.readlines("test.txt")

1.4 写入文件 #

ruby
File.write("test.txt", "Hello, World!")

File.open("test.txt", "w") do |file|
  file.puts "Line 1"
  file.puts "Line 2"
end

File.open("test.txt", "a") do |file|
  file.puts "Appended line"
end

二、文件信息 #

2.1 文件属性 #

ruby
File.exist?("test.txt")
File.file?("test.txt")
File.directory?("test.txt")
File.size("test.txt")
File.extname("test.txt")
File.basename("test.txt")
File.dirname("test.txt")
File.mtime("test.txt")
File.ctime("test.txt")
File.atime("test.txt")

2.2 文件权限 #

ruby
File.readable?("test.txt")
File.writable?("test.txt")
File.executable?("test.txt")
File.chmod(0644, "test.txt")
File.chown(1000, 1000, "test.txt")

三、文件操作 #

3.1 创建和删除 #

ruby
FileUtils.touch("new_file.txt")
File.delete("test.txt")
File.rename("old.txt", "new.txt")
FileUtils.cp("source.txt", "dest.txt")
FileUtils.mv("source.txt", "dest/")
FileUtils.rm_rf("directory")

3.2 文件指针 #

ruby
File.open("test.txt", "r") do |file|
  file.seek(0)
  file.pos
  file.rewind
  file.eof?
end

四、总结 #

本章我们学习了:

  1. File类:打开、读取、写入
  2. 文件模式:r、w、a、r+等
  3. 文件信息:属性、权限
  4. 文件操作:创建、删除、重命名

接下来让我们学习Ruby的目录操作!

最后更新:2026-03-27