Ruby資料一覧

ファイル操作

2007/8/21更新

対応バージョン: 1.8

ファイルの属性を得る

以下のメソッドを使用する。

dirname : パス名
basename : ファイル名

例)

file = "/etc/shells"

puts File.dirname(file)
puts File.basename(file)

=> /etc
=> shells
ctime : 作成時刻
mtime : 最終更新時刻
atime : 最終アクセス時刻

例)

file = "/etc/shells"

puts File.ctime(file).to_s
puts File.mtime(file).to_s
puts File.atime(file).to_s

=> Wed Apr 04 21:08:34 +0900 2007
=> Wed Apr 04 21:08:34 +0900 2007
=> Tue Aug 21 16:54:40 +0900 2007

ファイルの種類を調べる

File.ftypeを使用するか、FileTestを使用する。

ここではFile.ftypeの場合を示す。

case File.ftype(target)

when "file"
  puts "通常のファイル"

when "directory"
  puts "ディレクトリ"

when "link"
  puts "シンボリックリンク"

when "characterSpecial"
  puts "キャラクタスペシャルファイル"

when "blockSpecial"
  puts "ブロックスペシャルファイル"

when "fifo"
  puts "名前付きパイプ(FIFO)"

when "socket"
  puts "ソケット"

when "unknown"
  puts "不明"

end

ヒアドキュメントの内容をファイルに出力する

ファイルオブジェクトのメソッドとしてprintを使用する。

例)

f = File.open("foo", "w")

f.print <<END
line1
line2
:
END

f.close