2012-09-17 51 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

相關問題