Ruby 3.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > 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 を絶対パスに変換した文字列を返します。

absolute_path?(file_name) -> bool

file_name が絶対パスなら true を、そうでなければ false を返します。

atime(filename) -> Time

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

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

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

birthtime(filename) -> Time

作成された時刻を返します。

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, level=1) -> String

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

zero?(path) -> bool
empty?(path) -> bool

FileTest.#zero? と同じです。

executable?(path) -> bool

FileTest.#executable? と同じです。

executable_real?(path) -> bool

FileTest.#executable_real? と同じです。

exist?(path) -> bool

FileTest.#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 と同じです。

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

ファイルの最終アクセス時刻と更新時刻を変更します。シンボリックリンクに対しては File.utime と違って、シンボリックそのものを変更します。

mkfifo(file_name, mode = 0666) -> 0

引数 file_name で指定した名前の FIFO スペシャルファイルを作成します。

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) -> Integer | nil

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

ファイルの最終アクセス時刻と更新時刻を変更します。シンボリックリンクに対しては File.lutime と違って、シンボリックのリンク先を変更します。

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

インスタンスメソッド

定義 説明
atime -> Time

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

birthtime -> 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__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined << advise autoclose= autoclose? binmode binmode? clone close close_on_exec= close_on_exec? close_read close_write closed? 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= noecho nonblock nonblock= nonblock? nread oflush pathconf pid pos pos= pread print printf putc puts pwrite raw raw! read read_nonblock readbyte readchar readline readlines readpartial ready? reopen rewind seek set_encoding set_encoding_by_bom 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 !~ <=> == === _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? itself marshal_dump marshal_load method methods 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? send singleton_class singleton_method singleton_methods tap then to_a to_ary to_hash to_int to_proc to_regexp to_s to_str .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING