Ruby 4.1 リファレンスマニュアル

singleton method File.new

new(path, mode = "r", perm = 0666, **opts) -> File[permalink][rdoc][edit]
open(path, mode = "r", perm = 0666, **opts) -> File
open(path, mode = "r", perm = 0666, **opts) {|file| ... } -> object

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

path が整数の場合はファイルディスクリプタとして扱い、それに対応する File オブジェクトを生成して返します。IO.open と同じです。ブロックを指定して呼び出した場合は、File オブジェクトを引数としてブロックを実行します。ブロックの実行が終了すると、ファイルは自動的にクローズされます。ブロックの実行結果を返します。

[PARAM] path:
ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
[PARAM] mode:
モードを文字列か定数の論理和で指定します。Kernel?.open と同じです。
[PARAM] perm:
ファイルを生成する場合のファイルのパーミッションを整数で指定します。Kernel?.open と同じです。
[PARAM] opts:
キーワード引数でオープン時のオプションを指定します。指定できるオプションは IO.new を参照してください。
[EXCEPTION] Errno::EXXX:
ファイルのオープンに失敗した場合に発生します。
例: File.new による読み込みモードでのファイルオープン
f = File.new("testfile", "r")
p f.class # => File
f.close
例: File.open による読み込みモードでのファイルオープン
f = File.open("testfile", "r")
p f.class # => File
f.close
例: File.open による書き込みモードでのファイルオープン
File.open("testfile", "w", 0755) { |f| f.print "test" }
p File.read("testfile")  # => "test"