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

singleton method File.new

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

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

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

[PARAM] path:
ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
[PARAM] mode:
モードを文字列か定数の論理和で指定します。Kernel.#open と同じです。
[PARAM] perm:
ファイルを生成する場合のファイルのパーミッションを整数で指定します。Kernel.#open と同じです。
[EXCEPTION] Errno::EXXX:
ファイルのオープンに失敗した場合に発生します。

例: File.new による読み込みモードでのファイルオープン

f = File.new("testfile", "r")
f.class # => File
f.close

例: File.open による読み込みモードでのファイルオープン

f = File.open("testfile", "r")
f.class # => File
f.close

例: File.open による書き込みモードでのファイルオープン

File.open("testfile", "w", 0755) { |f| f.print "test" }
File.read("testfile")  # => "test"