- - - 目次

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])

pathで指定されるファイルをオープンし,ファイルオ ブジェクトを返します.mode"r", "r+", "w", "w+", "a", "a+"のいずれかでファイルのモー ドを指定します.modeが省略された時のデフォルトは "r"です.

readlink(path)

シンボリックリンクのリンク先を文字列で返します.

rename(from, to)

ファイルの名前を変更します.ディレクトリが異なる場合には移動 も行います.rename(2)を参照してください.移動先 のファイルが存在する時には上書きされます.

size(pathname)

pathnameで指定したファイルの大きさを返します.

split(pathname)

pathnamedirnamebasenameに分割して,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