7

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

class FileManager

    def initialize()

    end

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

我想指定创建文件的目录(路径)。如果这个不存在,他将被创造出来。那么我是否必须在创建文件后立即使用此处fileutils显示的内容,还是可以在创建时直接指定创建文件的位置?

谢谢

4

1 回答 1

34

以下代码检查您传入的目录是否存在(使用从路径中提取目录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
于 2012-09-17T13:18:36.437 回答