文件和目录…

你还可以使用 File 类来操作磁盘上的文件(files)和目录(directories)。在尝试对文件执行某些操作之前,你必须自然地确保该文件存在。毕竟,它可能在程序启动后被重命名或删除 - 或者用户可能错误地输入了文件或目录名称。

你可以使用 File.exist? 方法验证文件是否。这是 FileTest 模块提供给 File 类的几种测试方法之一。就 File.exist? 方法而言,一个目录记为一个文件,所以你可以使用下面的代码来测试是否存在 C:\ 驱动器(注意你必须在字符串中使用双文件分隔符 ‘\‘,单个 ‘\’ 将被视为转义字符):

file_ops.rb
  1. if File.exist?( "C:\\" ) then
  2. puts( "Yup, you have a C:\\ directory" )
  3. else
  4. puts( "Eeek! Can't find the C:\\ drive!" )
  5. end

如果要区分目录和数据文件,请使用 directory? 方法:

  1. def dirOrFile( aName )
  2. if File.directory?( aName ) then
  3. puts( "#{aName} is a directory" )
  4. else
  5. puts( "#{aName} is a file" )
  6. end
  7. end