new(path, mode = "r", perm = 0666, **opts) -> File[permalink][rdoc][edit]open(path, mode = "r", perm = 0666, **opts) -> Fileopen(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.open による読み込みモードでのファイルオープンf = File.new("testfile", "r") p f.class # => File f.close
例: File.open による書き込みモードでのファイルオープンf = File.open("testfile", "r") p f.class # => File f.closeFile.open("testfile", "w", 0755) { |f| f.print "test" } p File.read("testfile") # => "test" - [PARAM]