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

class File

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

要約

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

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

特異メソッド

定義 説明
absolute_path(file_name, dir_string=nil) -> String

file_name を絶対パスに変換した文字列を返します。

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

このメソッドは deprecated です。File.exist? を使用してください。

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

ファイルのタイプを表す文字列を返します。

grpowned?(path) -> bool

FileTest.#grpowned? と同じです。

identical?(filename1, filename2) -> bool

FileTest.#identical? と同じです。

join(*item) -> String

File::SEPARATORを間に入れて文字列を連結します。DOSISH 対応で環境依存になる予定です。

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

ファイルの最終アクセス時刻と更新時刻を変更します。

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 -> "\\" | nil

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

PATH_SEPARATOR -> ";" | ":"

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

SEPARATOR -> "/"
Separator -> "/"

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

継承したメソッド

! != __id__ instance_eval instance_exec singleton_method_added singleton_method_removed singleton_method_undefined << advise autoclose= autoclose? binmode binmode? bytes chars clone close close_on_exec= close_on_exec? close_read close_write closed? codepoints cooked cooked! each each_byte each_char each_codepoint echo= echo? eof expect external_encoding fcntl fdatasync fileno flush fsync getbyte getc getch gets iflush internal_encoding ioctl ioflush isatty lineno lineno= lines noecho nonblock nonblock= nonblock? nread oflush pid pos pos= print printf putc puts raw raw! 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 wait_writable winsize winsize= write write_nonblock .binread .binwrite .console .console_size .copy_stream .default_console_size .for_fd .foreach .pipe .popen .read .readlines .select .sysopen .try_convert .write ::SEEK_CUR ::SEEK_DATA ::SEEK_END ::SEEK_HOLE ::SEEK_SET !~ <=> == === =~ __send__ _dump class define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect 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? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE