2012-09-17 14 views
5

Wie kann ich eine neue Datei in einem bestimmten Verzeichnis erstellen. Ich habe diese Klasse erstellt:Erstellen Sie eine Datei in einem angegebenen Verzeichnis

class FileManager 

    def initialize() 

    end 

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

Ich möchte ein Verzeichnis (Pfad) angeben, wo die Datei erstellt werden soll. Wenn dieser nicht existiert, wird er erschaffen. Also muss ich fileutils wie gezeigt here direkt nach der Dateierstellung verwenden oder kann ich direkt in der Erstellung angeben, wo die Datei erstellen?

Dank

+0

Ihre Frage ist ein wenig verwirrend. Sie können 'File.new (" path/to/file ")' machen oder sagen Sie, dass die Verzeichnisse erstellt werden sollen, wenn sie nicht existieren? –

+0

Ich möchte das Verzeichnis erstellt, wenn er nicht existiert. Ich habe meine Frage bearbeitet – bAN

+0

Siehe meine Antwort unter –

Antwort

25

den folgenden Code überprüft, ob das Verzeichnis, das Sie in existiert bestanden haben (das Verzeichnis aus dem mit File.dirname Pfad ziehen), und schafft es, wenn es nicht der Fall ist. Es erstellt dann die Datei wie zuvor.

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

Also muss ich fileutils verwenden. Danke für deine Antwort – bAN

Verwandte Themen