在指定目录中创建文件

时间:2012-09-17 13:08:13

标签: ruby file-io

如何在特定目录中创建新文件。我创建了这个类:

class FileManager

    def initialize()

    end

    def createFile(name,extension)
        return File.new(name <<"."<<extension, "w+")
    end
end

我想指定一个目录(路径)来创建文件。如果这个不存在,他将被创建。因此,我必须在文件创建后立即使用fileutils here,或者我可以在创建中直接指定创建文件的位置吗?

由于

1 个答案:

答案 0 :(得分:29)

以下代码检查您传入的目录是否存在(使用File.dirname从路径中提取目录),如果不存在则创建它。然后它像以前一样创建文件。

require 'fileutils'

def create_file(path, extension)
  dir = File.dirname(path)

  unless File.directory?(dir)
    FileUtils.mkdir_p(dir)
  end

  path << ".#{extension}"
  File.new(path, 'w')
end