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
四、总结 #
本章我们学习了:
- File类:打开、读取、写入
- 文件模式:r、w、a、r+等
- 文件信息:属性、权限
- 文件操作:创建、删除、重命名
接下来让我们学习Ruby的目录操作!
最后更新:2026-03-27