ディレクトリの作成や削除を行いたい場合は、Dir
クラスの下記のメソッドを使用します。
Dir.mkdir(path)
Dir.delete(path)
Dir.rmdir(path)
Dir.unlink(path)
下記は、カレントディレクトリに sample ディレクトリを作成する例です。
Dir.mkdir('./sample')
すでにディレクトリがあるなどの理由で、ディレクトリの作成に失敗した場合は、SystemCallError
が発生します。
この例外を捕捉する必要がある場合は、以下のようにします。
begin
Dir.mkdir('./sample')
rescue => e
STDERR.puts e.message
end
ディレクトリの有無を先にチェックしておけば、すでに存在する場合のエラーを防止することができます。 この場合でも、ディレクトリの作成に失敗することはある(権限がないなど)ので、きちんと例外処理をしておくのが望ましいです。
begin
Dir.mkdir(path) if not Dir.exist?(path)
rescue => e
STDERR.puts 'エラー: ディレクトリを作成できません'
exit 1 # 継続不能であればプログラム終了
end
path = File.join(Dir.home, '.myconf')
Dir.mkdir(path), 0700) if not Dir.exist?(path)