2012-09-17 68 views
5

Làm cách nào để tạo tệp mới trong một thư mục cụ thể. Tôi đã tạo lớp này:Tạo một tệp trong một thư mục được chỉ định

class FileManager 

    def initialize() 

    end 

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

Tôi muốn chỉ định thư mục (đường dẫn) nơi tạo tệp. Nếu cái này không tồn tại, anh ta sẽ được tạo ra. Vì vậy, tôi phải sử dụng fileutils như được hiển thị here ngay sau khi tạo tệp hoặc tôi có thể chỉ định trực tiếp trong việc tạo nơi tạo tệp?

Cảm ơn

+0

Câu hỏi của bạn hơi khó hiểu. Bạn có thể làm 'File.new (" path/to/file ")' hoặc là bạn nói rằng bạn muốn các thư mục được tạo ra nếu chúng không tồn tại? –

+0

Tôi muốn thư mục được tạo nếu anh ta không tồn tại. Tôi đã chỉnh sửa câu hỏi của mình – bAN

+0

Xem câu trả lời của tôi bên dưới –

Trả lời

25

sẽ kiểm tra mã sau đó vào thư mục bạn đã vượt qua tồn tại (kéo thư mục từ con đường sử dụng File.dirname), và tạo ra nó nếu nó không. Sau đó nó tạo ra các tập tin như bạn đã làm trước đây.

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

Vì vậy, tôi phải sử dụng tệp tin. Cảm ơn câu trả lời của bạn – bAN

Các vấn đề liên quan