ファイルアクセスのためのクラス.通常
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])
pathで指定されるファイルをオープンし,ファイルオ
ブジェクトを返します.modeは"r"
,
"r+"
, "w"
, "w+"
,
"a"
, "a+"
のいずれかでファイルのモー
ドを指定します.modeが省略された時のデフォルトは
"r"
です.
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
ファイルパスのセパレータです.普通は"/"です.