Ruby File クラスとメソッド

File通常のファイルに接続されたstdioオブジェクトを表します。open は通常のファイルに対してこのクラスのインスタンスを返します。

クラスメソッド

番号メソッド & 説明
1File::atime( path)
戻り値:path最終アクセス時間。
2File::basename( path[, suffix])
戻り値:path末尾のファイル名。指定した場合、suffix、ファイル名の末尾から削除されます。
例:File.basename("/home/users/bin/ruby.exe") #=> "ruby.exe"
3File::blockdev?( path)
path がブロックデバイスの場合は true を返します。
4File::chardev?( path)
path がキャラクタデバイスの場合は true を返します。
5File::chmod( mode, path...)
指定されたファイルのパーミッションモードを変更します。
6File::chown( owner, group, path...)
指定されたファイルのオーナーとグループを変更します。
7File::ctime( path)
path の最後の inode 変更時刻を返します。
8File::delete( path...)
File::unlink( path...)

指定されたファイルを削除します。
9File::directory?( path)
path がディレクトリの場合は true を返します。
10File::dirname( path)
path のディレクトリ部分を返します。最後のファイル名は含みません。
11File::executable?( path)
path が実行可能な場合は true を返します。
12File::executable_real?( path)
path が実ユーザー権限で実行可能な場合は true を返します。
13File::exist?( path)
path が存在する場合は true を返します。
1File::expand_path( path[, dir])
path の絶対パスを返します。~ はプロセス所有者のホームディレクトリに、~user はユーザーのホームディレクトリに展開されます。相対パスは dir で指定されたディレクトリを基準とし、dir が省略された場合は現在の作業ディレクトリを基準とします。
14File::file?( path)
path が通常ファイルの場合は true を返します。
15File::ftype( path)
次のいずれかの文字列を返し、ファイルタイプを表します:
  • file- 通常ファイル
  • directory- ディレクトリ
  • characterSpecial- キャラクタ特殊ファイル
  • blockSpecial- ブロック特殊ファイル
  • fifo- 名前付きパイプ(FIFO)
  • link- シンボリックリンク
  • socket - Socket
  • unknown- 不明なファイルタイプ
16File::grpowned?( path)
path がユーザーのグループによって所有されている場合は true を返します。
17File::join( item...)
指定された項目を連結し、File::Separator で区切った文字列を返します。
例:File::join("", "home", "usrs", "bin") # => "/home/usrs/bin"
18File::link( old, new)
ファイル old へのハードリンクを作成します。
19File::lstat( path)
stat と同じですが、シンボリックリンク自体の情報を返します。指しているファイルの情報ではありません。
20File::mtime( path)
path の最終変更時刻を返します。
21File::new( path[, mode="r"])
File::open( path[, mode="r"])
File::open( path[, mode="r"]) {|f| ...}

ファイルを開きます。ブロックが指定された場合、新しいファイルを引数としてブロックを実行します。ブロックが終了すると、ファイルは自動的に閉じられます。これらのメソッドは Kernel.open とは異なり、path が | で始まる場合でも、後続の文字列はコマンドとして実行されません。
22File::owned?( path)
path が実効ユーザーによって所有されている場合は true を返します。
23File::pipe?( path)
path がパイプの場合は true を返します。
24File::readable?( path)
path が読み取り可能な場合は true を返します。
25File::readable_real?( path)
path が実ユーザー権限で読み取り可能な場合は true を返します。
25File::readlink( path)
path が指すファイルを返します。
26File::rename( old, new)
ファイル名を old から new に変更します。
27File::setgid?( path)
path の set-group-id パーミッションビットが設定されている場合は true を返します。
28File::setuid?( path)
path の set-user-id パーミッションビットが設定されている場合は true を返します。
29File::size( path)
path のファイルサイズを返します。
30File::size?( path)
path のファイルサイズを返します。0 の場合は nil を返します。
31File::socket?( path)
path がソケットの場合は true を返します。
32File::split( path)
path の構成要素を含む配列を返します。path は File::dirname(path) と File::basename(path) に分割されます。
33File::stat( path)
path に関する情報を持つ File::Stat オブジェクトを返します。
34File::sticky?( path)
path のスティッキービットが設定されている場合は true を返します。
35File::symlink( old, new)
ファイル old へのシンボリックリンクを作成します。
36File::symlink?( path)
path がシンボリックリンクの場合は true を返します。
37File::truncate( path, len)
指定されたファイルを len バイトに切り詰めます。
38File::unlink( path...)
path で指定されたファイルを削除します。
39File::umask([ mask])
引数が指定されていない場合は、プロセスの現在の umask を返します。引数が指定された場合は、umask を設定し、以前の umask を返します。
40File::utime( atime, mtime, path...)
指定されたファイルのアクセス時刻と変更時刻を変更します。
41File::writable?( path)
path が書き込み可能な場合は true を返します。
42File::writable_real?( path)
path が実ユーザー権限で書き込み可能な場合は true を返します。
43File::zero?( path)
path のファイルサイズが 0 の場合は true を返します。

インスタンスメソッド

仮にfであるFileクラスのインスタンス:

番号メソッド & 説明
1f.atime
f の最終アクセス時間を返します。
2f.chmode( mode)
f のパーミッションモードを変更します。
3f.chown( owner, group)
f のオーナーとグループを変更します。
4f.ctime
f の最後の inode 変更時刻を返します。
5f.flock( op)
flock(2) を呼び出します。op は 0 または論理値、または File クラスの定数 LOCK_EX、LOCK_NB、LOCK_SH、LOCK_UN のいずれかです。
6f.lstat
stat と同じですが、シンボリックリンク自体の情報を返します。指しているファイルの情報ではありません。
7f.mtime
f の最終変更時刻を返します。
8f.path
f の作成に使用されたパス名を返します。
9f.reopen( path[, mode="r"])
ファイルを再度開きます。
10f.truncate( len)
f を len バイトに切り詰めます。
その他の拡張