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类为开发人员提供了大量的文件操作方法,包括读取、写入、重命名、移动,以及更改文件权限等功能。深入学习这个类的所有方法和功能,可以帮助您更好地管理和操作文件。