访问文件的类,实例通常由 open 或 File.open 创建。
一个打开但没有引用的 File 对象会被垃圾回收 close 后丢弃。
返回最后修改时间 (Time 对象)。
若是读取失败,抛出 Errno::EXXX 异常。
返回 filename 最后一个斜线后面的部分。若是提供了 suffix 参数,并且与 filename 的后缀一致时,则会去除后缀后返回。
p File.basename("ruby/ruby.c") # => "ruby.c" p File.basename("ruby/ruby.c", ".c") # => "ruby" p File.basename("ruby/ruby.c", ".*") # => "ruby" p File.basename("ruby/ruby.exe", ".*") # => "ruby"
参看 File.dirname 和 File.extname。
删除文件,并返回所删除的文件数目。若删除失败,则抛出 Errno::EXXX 异常。
此方法是用来删除文件的,无法删除目录。
返回 filename 最后一个斜线前面的部分。若 filename 不包含斜线,则返回 "."(当前目录)。
p File.dirname("dir/file.ext") # => "dir" p File.dirname("file.ext") # => "." p File.dirname("foo/bar/") # => "foo" p File.dirname("foo//bar") # => "foo"
参见 File.basename 和 File.extname。
以字符串形式返回 path 展开的绝对路径。若 path 是相对路径,则将 default_dir 设为基准目录。省略了 default_dir 或值为 nil 时,使用当前目录。
p File.expand_path("..") # => "/home/matz/work" p File.expand_path("..", "/tmp") # => "/"
返回 filename 的扩展名(最后一个.后面的字符串)。在目录名称或文件名开头的 . 不会被看做是扩展名的一部份。若 filename 不包含扩展名,则返回空字符串。
p File.extname("foo/foo.txt") # => ".txt" p File.extname("foo/foo.tar.gz") # => ".gz" p File.extname("foo/bar") # => "" p File.extname("foo/.bar") # => "" p File.extname("foo.txt/bar") # => "" p File.extname(".foo") # => ""
参见 File.basename 和 File.dirname 。
开启由 path 指定的文件,并返回文件对象。若开启文件失败,则抛出 Errno::EXXX 异常。
参数 mode 的用法与内建函数 open 相同。
open() 可以带区块,此时以指定的文件对象运行区块。区块执行结束后自动关闭文件。
带区块时,返回值为区块的计算结果。
重命名文件,若是目录不同则会将文件移动至指定文件夹。若是目标文件夹已有同名文件,则会予以覆盖。
移动成功时,返回 0,失败则抛出 Errno::EXXX 异常。
返回上次修改时间(Time 对象)。
若是读取失败,抛出 Errno::EXXX 异常。
返回所打开的文件路径。