|
前
-
上
-
次
-
目次
-
File
-
ファイルアクセスのためのクラス.通常
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
-
ファイルパスのセパレータです.普通は"/"です.
前
-
上
-
次
-
目次
matz@netlab.co.jp
|