Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Fileクラス

class File

クラスの継承リスト: File < IO < Enumerable < File::Constants < Object < Kernel

要約

ファイルアクセスのためのクラスです。

通常 Kernel.#open または File.open を使って生成します。 IO クラスがインクルードしている File::Constants は File クラスに関係する定数を 格納したモジュールです。 また File::Stat は stat 構造体( stat(2) 参照)を表すクラスです。

特異メソッド

定義 説明
atime(filename) -> Time

最終アクセス時刻を返します。

basename(filename, suffix = "") -> String

filename の一番後ろのスラッシュに続く要素を返します。もし、 引数 suffix が与えられて、かつそれが filename の末尾に 一致するなら、それを取り除いたものを返します。

blockdev?(path) -> bool

FileTest.#blockdev? と同じです。

chardev?(path) -> bool

FileTest.#chardev? と同じです。

chmod(mode, *filename) -> Integer

ファイルのモードを mode に変更します。モードを変更したファイ ルの数を返します。

chmod(mode, *files) -> Integer

(複数の)ファイルの属性を変えます。

ftools
chown(owner, group, *filename) -> Integer

ファイルのオーナーとグループを変更します。スーパーユーザだけがファ イルのオーナーとグループを変更できます。変更を行ったファイルの数を 返します。

ctime(filename) -> Time

状態が最後に変更された時刻を返します。 状態の変更とは chmod などによるものです。

delete(*filename) -> Integer
unlink(*filename) -> Integer

ファイルを削除します。削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。

directory?(path) -> bool

FileTest.#directory? と同じです。

dirname(filename) -> String

filename の一番後ろのスラッシュより前を文 字列として返します。スラッシュを含まないファイル名に対しては "."(カレントディレクトリ)を返します。

executable?(path) -> bool

FileTest.#executable? と同じです。

executable_real?(path) -> bool

FileTest.#executable_real? と同じです。

exist?(path) -> bool

FileTest.#exist? と同じです。

exists?(path) -> bool

このメソッドはobsoleteです。

expand_path(path, default_dir = '.') -> String

path を絶対パスに展開した文字列を返します。 path が相対パスであれば default_dir を基準にします。

extname(filename) -> String

ファイル名 filename の拡張子部分(最後の "." に続く文字列)を 返します。ディレクトリ名に含まれる "." や、ファイル名先頭の "." は拡張子の一部としては見なされません。filename に拡張子が含 まれない場合は空文字列を返します。

file?(path) -> bool

FileTest.#file? と同じです。

fnmatch(pattern, path, flags = 0) -> bool
fnmatch?(pattern, path, flags = 0) -> bool

ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。

ftype(filename) -> String

ファイルのタイプを表す文字列を返します。文字列は以下のうちのいずれ かです。File.lstat(filename).ftype と同じで す。シンボリックリンクに対して "link" を返します。

grpowned?(path) -> bool

FileTest.#grpowned? と同じです。

identical?(filename1, filename2) -> bool

FileTest.#identical? と同じです。

join(*item) -> String

File::SEPARATORを間に入れて文字列を連結します。

lchmod(mode, *filename) -> Integer

File.chmod と同様ですが、シンボリックリンクに関してリンクそのものの モードを変更します。

lchown(owner, group, *filename) -> Integer

File#chown と同様ですが、 シンボリックリンクに関してリンクそのもののオーナー、 グループを変更します。

link(old, new) -> 0

old を指す new という名前のハードリンクを 生成します。old はすでに存在している必要があります。 ハードリンクに成功した場合は 0 を返します。

lstat(filename) -> File::Stat

File.statと同様ですが、シンボリックリンクに関してリンクそのものの 情報を File::Stat として返します。lstat(2) を実装していないシステムでは、File.stat と同じです。

mtime(filename) -> Time

最終更新時刻を返します。

new(path, mode = "r", perm = 0666) -> File
open(path, mode = "r", perm = 0666) -> File
open(path, mode = "r", perm = 0666) {|file| ... } -> object

path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。

owned?(path) -> bool

FileTest.#owned? と同じです。

pipe?(path) -> bool

FileTest.#pipe? と同じです。

readable?(path) -> bool

FileTest.#readable? と同じです。

readable_real?(path) -> bool

FileTest.#readable_real? と同じです。

readlink(path) -> String

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

rename(from, to) -> 0

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

setgid?(path) -> bool

FileTest.#setgid? と同じです。

setuid?(path) -> bool

FileTest.#setuid? と同じです。

size(path) -> Integer

FileTest.#size と同じです。

size?(path) -> bool

FileTest.#size? と同じです。

socket?(path) -> bool

FileTest.#socket? と同じです。

split(pathname) -> [String]

pathname を dirname とbasename に分割して、2 要 素の配列を返します。

stat(filename) -> File::Stat

filename の情報を含む File::Stat オブジェクトを生成し て返します。

sticky?(path) -> bool

FileTest.#sticky? と同じです。

symlink(old, new) -> 0

old への new という名前のシンボリックリンクを生成します。

symlink?(path) -> bool

FileTest.#symlink? と同じです。

truncate(path, length) -> 0

path で指定されたファイルのサイズを最大 length バイト にします。

umask -> Integer

現在の umask の値を返します。

umask(umask) -> Integer

umask を変更します。変更前の umask の値を返します。

utime(atime, mtime, *filename) -> Integer

ファイルの最終アクセス時刻と更新時刻を変更します。変更したファイル の数を返します。変更に失敗した場合は例外 Errno::EXXX が発生 します。

writable?(path) -> bool

FileTest.#writable? と同じです。

writable_real?(path) -> bool

FileTest.#writable_real? と同じです。

zero?(path) -> bool

FileTest.#zero? と同じです。

インスタンスメソッド

定義 説明
atime -> Time

最終アクセス時刻を Time オブジェクトとして返します。

chmod(mode) -> 0

ファイルのモードを指定された mode に変更します。

chown(owner, group) -> 0

ファイルのオーナーとグループを変更します。

ctime -> Time

状態が最後に変更された時刻を Time オブジェクトとして返します。状態の変更とは chmod などによるものです。

flock(operation) -> 0 | false

ファイルをロックします。

lstat -> File::Stat

ファイルの状態を含む File::Stat オブジェクトを生成して返します。 シンボリックリンクに関してリンクそのものの情報を返します。 lstat(2) を実装していないシステムでは、IO#statと同じです。

mtime -> Time

最終更新時刻を Time オブジェクトとして返します。

path -> String

オープン時に使用したパスを文字列で返します。

truncate(length) -> 0

ファイルのサイズを最大 length バイトにします。

定数

定義 説明
ALT_SEPARATOR

システムのファイルパスのセパレータが SEPARATOR と異なる場合 に設定されます。MS-DOS などでは "\" です。UNIX や Cygwin などでは nil です。

PATH_SEPARATOR

PATH 環境変数の要素のセパレータです。UNIX では ":" MS-DOS な どでは ";" です。

SEPARATOR
Separator

ファイルパスのセパレータです。ファイルを扱うメソッドにパス名を渡す 場合などスクリプト内のパス名は環境によらずこのセパレータで統一され ます。値は "/" です。

継承したメソッド

<< binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .for_fd .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

追加されるメソッド

定義 説明 ライブラリ
catname(from, to) -> String

from, to から新しい to を作成して返します。

ftools
compare(from, to, verbose = false) -> bool
cmp(from, to, verbose = false) -> bool

2つのファイルを比較します。

ftools
copy(from, to, verbose = false) -> bool
cp(from, to, verbose = false) -> bool

ファイルをコピーします。

ftools
install(from, to, mode = nil, verbose = false) -> ()

ファイルをコピーし、モードを設定します。

ftools
makedirs(*dirs) -> Array
mkpath(*dirs) -> Array

(複数の)ディレクトリを作成します。

ftools
move(from, to, verbose = false) -> bool
mv(from, to, verbose = false) -> bool

ファイルを移動します。

ftools
safe_unlink(*files) -> Array
rm_f(*files) -> Array

(複数の)ファイルを可能な限り削除します。

ftools
syscopy(from, to) -> bool

from から to へファイルをコピーします。

ftools