Ruby File 类和方法
Ruby File类和方法文档
Ruby的File类提供了读取、写入、重命名、删除和更改文件权限等常规文件操作的方法。本文将介绍File类的常见用法和方法。
打开/关闭文件
使用File.open方法可以打开文件,如果文件不存在,将自动创建该文件。例如:
File.open("example.txt", "w") do |file|
file.write("Hello, world!")
end
这会创建一个名为example.txt的文件,并将文本“Hello, world!”写入其中。
也可以先打开文件并在操作完后手动关闭文件:
file = File.open("example.txt", "r")
content = file.read
file.close
puts content
写入文件
可以使用File.write方法或File.open和Block来写入文件。File.write将覆盖整个文件的内容,而File.open和Block会在文件的末尾写入内容。例如:
File.write("example.txt", "This is a new message")
File.open("example.txt", "a") do |f|
f << "This is another line"
end
读取文件
可以使用File.read或File.open和Block来读取文件。File.read将一个文件的内容一次读入一个字符串,而File.open和Block将文件逐行读入一个数组中。例如:
content = File.read("example.txt")
puts content
File.open("example.txt", "r") do |f|
f.each_line do |line|
puts line
end
end
重命名/移动文件
可以使用File.rename来重命名文件,也可以使用FileUtils模块来移动一个文件。例如:
File.rename("old_filename.txt", "new_filename.txt")
require 'fileutils'
FileUtils.mv("old_filename.txt", "new_location/new_filename.txt")
删除文件
可以使用File.delete或File.unlink来删除文件。例如:
File.delete("example.txt")
File.unlink("example.txt")
文件信息
可以使用File.size和File.mtime来获取文件的大小和最后修改时间。例如:
puts File.size("example.txt")
puts File.mtime("example.txt")
文件权限
可以使用File.chmod来更改文件的权限。例如:
File.chmod(0777, "example.txt")
这将更改example.txt的权限为可读、可写和可执行。
示例代码
下面是一个简单的示例,它打印出具有特定扩展名的所有文件的名称和最后修改时间:
def find_files_by_extension(extension)
Dir.glob("*."+extension).each do |file|
puts file
puts File.mtime(file)
end
end
find_files_by_extension("txt")
这个脚本将输出与当前目录中扩展名为txt的所有文件的名称和最后修改时间。
结论
Ruby的File类为开发人员提供了大量的文件操作方法,包括读取、写入、重命名、移动,以及更改文件权限等功能。深入学习这个类的所有方法和功能,可以帮助您更好地管理和操作文件。