ファイルアクセスのためのクラス.通常
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, file...)
ファイルのモードをmodeに変更します.モードを変更 したファイルの数を返します.
chown(owner, group, file...)
ファイルのオーナーとグループを変更します.スーパーユーザだけ がファイルのオーナーとグループを変更できます.変更を行ったファ イルの数を返します.
nil
または -1
を指定することでオー
ナーやグループを現在のままにすることができます.
dirname(filename)
filenameの一番後ろのスラッシュに続く要素以外を文
字列として返します.スラッシュを含まないファイル名に対しては
"."
(カレントディレクトリ)を返します.
expand_path(path)
pathを絶対パスに展開します.先頭の `~'はホームディレクトリに,`~USER' はそのユーザのホームディレクトリに展開されます.
expand_file_name("..") => "/home/matz/work" expand_file_name("~") => "/home/matz" expand_file_name("~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で指定したファイルの大きさを返します.
stat(pathname)
pathnameをdirname
と
basename
に分割して,2要素の配列を返します.
stat(filename)
filenameの情報を含むStat構造体を返します.
File#stat
を参照してください.
symlink(old, new)
oldへのnewという名前のシンボリックリン クを生成します.
truncate(path, length)
pathで指定されたファイルを最大lengthバ イトにまで切り詰めます.
unlink(file...)
delete(file...)
ファイルを削除します.削除したファイルの数を返します.このメ
ソッドは通常ファイルの削除用で,ディレクトリの削除には
Dir.rmdir
を使
います.
umask([umask])
umaskを変更します.変更前のumaskの値を返します. umaskを省略すると変更を行わないで,現在のumaskの 値を返します.
utime(atime, mtime, file...)
ファイルの最終アクセス時間と更新時間を変更します.変更された
ファイルの数を返します.先頭の二つの引数は時間を指定する数値
またはTime
クラスのイン
スタンスでなければなりません.
これら以外にもFile
クラスは
FileTest
クラスで定義され
ているクラスメソッドも持っています.
atime
ファイルの最終アクセス時間を返します.
ctime
ファイルの状態が最後に変更された時間を返します.
chmod(mode)
ファイルのモードをmodeに変更します. chmod(2)参照.
chown(owner, group)
ファイルのオーナーとグループを変更します.スーパーユーザだけ
がファイルのオーナーとグループを変更できます.
nil
または -1
を指定することでオー
ナーやグループを現在のままにすることができます.
flock(operation)
ファイルをロックします.LOCK_NB
が指定されていて,
ブロックされそうな場合にはFALSEを返します.有効な
operationは以下の通りです.
or
するこ
とで指定します.
以上の定数はFile
クラスで定義されています.
eof
eof?
ファイルがEOFに到達している時に真を返します.
lstat
stat
と同様にファイルの
状態を返しますが,シンボリックリンクに関してリンクそのものの
情報を返します.
mtime
ファイルの最終更新時間を返します.
pos
ファイルポインタの位置を返します.
pos= pos
ファイルポインタを指定位置に移動します.
reopen(io)
reopen(path, mode)
1引数の時,自身をioに繋ぎ換えます.2引数の時, pathで指定されたファイルにストリームを繋ぎ換えま す.
rewind
ファイルポインタを先頭に移動します.
path
オープンしているファイルのパスを返します.
seek(offset, whence)
ファイルポインタをoffsetだけ移動させます. whenceの値が0の時ファイルの先頭から,1の時現在の ファイルポインタから,2の時EOFからoffsetバイトだ け移動します.
stat
ファイルのステータスを含む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が入っています.
tell
ファイルポインタの現在の位置を返します.
truncate(length)
ファイルのサイズを最大lengthバイトにします.ファ イルはライトモードでオープンされている必要があります.
Separator
ファイルパスのセパレータです.普通は"/"です.