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

class File

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

要約

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

通常 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 に変更します。モードを変更したファイ ルの数を返します。

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? と同じです。

path(filename) -> String

指定されたファイル名を文字列で返します。filename が文字列でない場合は、to_path メソッドを呼びます。

pipe?(path) -> bool

FileTest.#pipe? と同じです。

readable?(path) -> bool

FileTest.#readable? と同じです。

readable_real?(path) -> bool

FileTest.#readable_real? と同じです。

readlink(path) -> String

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

realdirpath(pathname, basedir = nil) -> String

与えられた pathname に対応する絶対パスを返します。

realpath(pathname, basedir = nil) -> String

与えられた pathname に対応する絶対パスを返します。

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 が発生 します。

world_readable?(path) -> Integer | nil

path が全てのユーザから読めるならばそのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。

world_writable?(path) -> bool

path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。

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
to_path -> String

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

size -> Integer

ファイルのサイズを返します。

truncate(length) -> 0

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

定数

定義 説明
ALT_SEPARATOR

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

PATH_SEPARATOR

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

SEPARATOR
Separator

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

継承したメソッド

! != << autoclose= autoclose? binmode binmode? bytes chars clone close close_on_exec= close_on_exec? close_read close_write closed? codepoints each each_byte eof expect external_encoding fcntl fdatasync fileno flush fsync getbyte getc gets internal_encoding ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? nread pid pos pos= print printf putc puts read read_nonblock readbyte readchar readline readlines readpartial ready? reopen rewind scanf seek set_encoding stat sync sync= sysread sysseek syswrite to_io ungetbyte ungetc wait write write_nonblock .binread .copy_stream .for_fd .foreach .pipe .popen .read .readlines .select .sysopen .try_convert ::SEEK_CUR ::SEEK_END ::SEEK_SET ::WaitReadable ::WaitWritable == === =~ __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 must_be must_be_close_to must_be_empty must_be_instance_of must_be_kind_of must_be_nil must_be_same_as must_be_within_epsilon must_equal must_include must_match must_raise must_respond_to must_send must_throw 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? respond_to_missing? singleton_class 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 trust untaint untrust untrusted? wont_be wont_be_close_to wont_be_empty wont_be_instance_of wont_be_kind_of wont_be_nil wont_be_same_as wont_be_within_epsilon wont_equal wont_include wont_match wont_respond_to