2012-09-17 104 views
5

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

class FileManager 

    def initialize() 

    end 

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

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

感谢

+0

你的问题有点混乱。你可以做'File.new(“path/to/file”)'或者你说你想要创建的目录如果不存在? –

+0

我想要创建的目录如果他不存在。我编辑我的问题 – bAN

+0

看到我的回答下面 –

回答

25

该目录你存在已经通过(拉使用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 
+0

所以我必须使用fileutils。感谢您的回答 – bAN

相关问题