ファイルアクセスのためのクラス.通常
open
を使ってオープンされます.このクラスには
FileTest
で定義されているのと同じ特異メソッドが定義されています.
IO
atime(filename)
ファイルの最終アクセス時刻を返します.
basename(filename[, suffix])
filenameの一番後ろのスラッシュに続く要素を返しま す.もし,引数suffixが与えられて,かつそれが filenameの末尾に一致するなら,それを取り除いたも のを返します.
例:
basename("ruby/ruby.c")
=> "ruby.c"
basename("ruby/ruby.c", ".c")
=> "ruby"
ctime(filename)
ファイルの状態が最後に変更された時刻を返します.
chmod(mode, path...)
ファイルのモードをmodeに変更します.モードを変更 したファイルの数を返します.
chown(owner, group, filename...)
ファイルのオーナーとグループを変更します.スーパーユーザだけ がファイルのオーナーとグループを変更できます.変更を行ったファ イルの数を返します.
nil または -1 を指定することでオー
ナーやグループを現在のままにすることができます.
dirname(filename)
filenameの一番後ろのスラッシュに続く要素以外を文
字列として返します.スラッシュを含まないファイル名に対しては
"."(カレントディレクトリ)を返します.
expand_path(path[,default_dir])
pathを絶対パスに展開します. パスが相対パスであればdefault_dirを基準にします. default_dirがnilかまたは与えられなかった時にはカ レントディレクトリが使われます. 先頭の`~'はホームディレクトリに,`~USER' はそのユーザのホームディレクトリに展開されます.
expand_path("..")
=> "/home/matz/work"
expand_path("~")
=> "/home/matz"
expand_path("~matz")
=> "/home/matz"
join(items...)
File::Separatorを間に入れて,文字列を連結します.
も同じ動作をします.[items,..].join(File::Separator)
ftype(filename)
ファイルのタイプを表す文字列を返します.文字列は以下のうちの いずれかです.
"file"
"directory"
"characterSpecial"
"blockSpecial"
"fifo"
"link"
"socket"
link(old, new)
oldを指すnewという名前のハードリンクを 生成します.oldはすでに存在している必要があります.
lstat(filename)
statと同様にファイルの
状態を返しますが,シンボリックリンクに関してリンクそのものの
情報を返します.
mtime(filename)
ファイルの最終更新時刻を返します.
open(path[, mode])
new(path[, mode [, perm]])
pathで指定されるファイルをオープンし,ファイルオ ブジェクトを返します.
modeが文字列の場合、fopen(3)のよう
に"r", "r+", "w",
"w+", "a", "a+"のい
ずれかでファイルのモードを指定します.permは無視
されます.modeが省略された時のデフォルトは
"r"です.
modeが整数の場合、open(2)の第2引数
と同様にRDONLY, WRONLY,
RDWRのいずれかでファイルのモードを指定します.
さらにAPPEND, CREAT,
EXCL, NONBLOCK,
TRUNC, NOCTTY,
BINARYを一つ以上|でOR結合すること
で属性を指定することができます. permは
open(2)の第3引数と同じく、CREAT時
のファイルのアクセス権を整数で指定します.
これらの定数はFileクラスで定義されています.
ブロックを指定して呼び出した場合は、ファイルオブジェクトを 与えられてブロックが実行されます.ブロックの実行が終了すると、 ファイルは自動的にクローズされます.
readlink(path)
シンボリックリンクのリンク先を文字列で返します.
rename(from, to)
ファイルの名前を変更します.ディレクトリが異なる場合には移動 も行います.rename(2)を参照してください.移動先 のファイルが存在する時には上書きされます.
size(pathname)
pathnameで指定したファイルの大きさ(バイト数)を返します.
split(pathname)
pathnameをdirnameと
basenameに分割して,2要素の配列を返します.
stat(filename)
filenameの情報を含むStat構造体を返します.
Stat構造体のメンバは以下の通りです.
dev # デバイス番号(ファイルシステム) ino # i-node番号 mode # ファイルモード nlink # ハードリンクの数 uid # オーナーのユーザID gid # オーナーのグループID rdev # デバイスタイプ(スペシャルファイルのみ) size # ファイルサイズ(バイト単位) blksize # 望ましいI/Oのブロックサイズ blocks # 割り当てられているブロック数 atime # 最終アクセス時刻 mtime # 最終更新時刻 ctime # 最終i-node変更時刻
より詳細はstat(2)してください.システムによって サポートされていないメンバには0が入っています.
symlink(old, new)
oldへのnewという名前のシンボリックリン クを生成します.
truncate(path, length)
pathで指定されたファイルを最大lengthバ イトにまで切り詰めます.
unlink(filename...)
delete(filename...)
ファイルを削除します.削除したファイルの数を返します.このメ
ソッドは通常ファイルの削除用で,ディレクトリの削除には
Dir.rmdirを使
います.
umask([umask])
umaskを変更します.変更前のumaskの値を返します. umaskを省略すると変更を行わないで,現在のumaskの 値を返します.
utime(atime, mtime, filename...)
ファイルの最終アクセス時刻と更新時刻を変更します.変更された
ファイルの数を返します.先頭の二つの引数は時刻を指定する数値
またはTimeクラスのイン
スタンスでなければなりません.
これら以外にもFileクラスは
FileTestクラスで定義され
ているクラスメソッドも持っています.
atime
ファイルの最終アクセス時刻を返します.
ctime
ファイルの状態が最後に変更された時刻を返します.
chmod(mode)
ファイルのモードをmodeに変更します. chmod(2)参照.
chown(owner, group)
ファイルのオーナーとグループを変更します.スーパーユーザだけ
がファイルのオーナーとグループを変更できます.
nil または -1 を指定することでオー
ナーやグループを現在のままにすることができます.
flock(operation)
ファイルをロックします.LOCK_NBが指定されていて,
ブロックされそうな場合にはFALSEを返します.有効な
operationは以下の通りです.
LOCK_SH
LOCK_EX
LOCK_UN
LOCK_NB
orするこ
とで指定します.
以上の定数はFileクラスで定義されています.
eof
eof?
ファイルがEOFに到達している時に真を返します.
lstat
statと同様にファイルの
状態を返しますが,シンボリックリンクに関してリンクそのものの
情報を返します.
mtime
ファイルの最終更新時刻を返します.
reopen(io)
reopen(path, mode)
1引数の時,自身をioに繋ぎ換えます.2引数の時, pathで指定されたファイルにストリームを繋ぎ換えま す.
path
オープンしているファイルのパスを返します.
stat
ファイルの状態を含むStat構造体を返します.
truncate(length)
ファイルのサイズを最大lengthバイトにします.ファ イルはライトモードでオープンされている必要があります.
Separator
ファイルパスのセパレータです.普通は"/"です.