Ruby中操作文件的方法介绍

2019-09-25 09:43:07王旭

puts Dir.entries("/usr/bin").join(' ')

Dir.entries 返回一个数组的指定目录内的所有项目。Dir.foreach 提供了相同的功能:

Dir.foreach("/usr/bin") do |entry|
  puts entry
end

更简捷的方法获取目录列表利用 Dir 类数组的方法:

Dir["/usr/bin/*"]

创建一个目录:

可以用 Dir.mkdir,来创建目录:

Dir.mkdir("mynewdir")

还可以设置一个新的目录权限(不是一个已经存在的)用mkdir:

注: 掩码755设置权限所有者,组表示 [所有人] 类似于 rwxr-xr-x , r = read, w = write, and x = execute.

Dir.mkdir( "mynewdir", 755 )

删除目录:

可用 Dir.delete 删除一个目录。Dir.unlink 和 Dir.rmdir 执行完全相同的功能,并提供了方便。

Dir.delete("testdir")

创建文件和临时目录:

临时文件是程序的执行过程中可能会产生短暂的,但不是永久存储的信息。

Dir.tmpdir 提供对当前系统的临时目录的路径,尽管该方法是默认不可用。为了使 Dir.tmpdir 必要使用需要 'tmpdir'.

可以使用 Dir.tmpdir 及 File.join,创建一个独立于平台的临时文件:

require 'tmpdir'
  tempfilename = File.join(Dir.tmpdir, "tingtong")
  tempfile = File.new(tempfilename, "w")
  tempfile.puts "This is a temporary file"
  tempfile.close
  File.delete(tempfilename)

此代码创建一个临时文件,写入数据,并删除它。 Ruby的标准库还包括一个程式库Tempfile ,它可以创建临时文件:

require 'tempfile'
  f = Tempfile.new('tingtong')
  f.puts "Hello"
  puts f.path
  f.close

内置功能:

这里是Ruby的支持功能,处理文件和目录的完整列表:

    File Class and Methods.     Dir Class and Methods.