1年くらい前にRubyの勉強のためにIO、File、Dirクラスの便利メソッドをまとめたもの
参考
・パーフェクトRuby
ファイルの読み込み
IO#open:ファイルを開く
IO#close:ファイルを閉じる
IO#read:ファイルの内容を末尾まで読み込む。読み込むバイト数の指定も可能
IO#gets:ファイルを1行ずつ読み込む
# 例:read
File.open('sample.txt') do |file|
puts file.read
end
# 例:gets
File.open('sample.txt') do |f|
while line = f.gets
puts line
end
end
# each_lineを使いより自然な記述へ
File.open('sample.txt') do |f|
f.each_line do |line|
puts line
end
end
ファイルの書き込み
IO#write
文字列を書き込む
File.open('sample.txt') do |f|
f.write 'Ruby' # ファイルに"Ruby"と書き込む
end
アクセス位置の操作
IO#rewind
アクセス位置を先頭に戻す
IO#seek、IO#pos=
任意の位置に移動する
ファイルのロック
File#flock
ファイルをロックしたりロックを開放するメソッド
ファイルに関する情報の取得
File#atime:最後にアクセスした日時
File#ctime:最後に状態を変更した日時
File#mtime:最後に更新した日時
File#size:ファイルサイズ
ファイル操作
File#rename:ファイル名の変更/移動
File#unlink:ファイルの削除
File#symlink:ファイルのシンボリックリンク作成
File#link:ファイルのハードリンク作成
File#symlink:ファイルのシンボリックリンク作成
File#chmod:ファイルモードの指定
File#chown:オーナー・グループの変更
ファイルパス操作
File#dirname:ファイルのディレクトリパス
File#basename:ファイル名
File#extname:拡張子
File#join:ファイルパスの連結
File#split:dirnameとbasenameの配列
File#expend_path:相対パスから絶対パスを取得する
ファイル一覧の取得
Dir#entries:ディレクトリに含まれるファイル一覧の取得
ディレクトリ操作
Dir#mkdir:ディレクトリ作成
Dir#chdir:ディレクトリの移動
Dir#rmdir:ディレクトリの削除
Dir#exist?:ディレクトリの存在検査