Ruby - 文件类和方法
File 表示一个 stdio 对象,它连接到常规文件并为常规文件返回此类的实例。
类方法
序号 | 方法 & 描述 |
---|---|
1 | File::atime( path) 返回 path 的上次访问时间。 |
2 | File::basename( path[, suffix]) 返回 path 末尾的文件名。 如果指定了 suffix,它会从文件名的末尾删除。 e.g. File.basename("/home/users/bin/ruby.exe") #=> "ruby.exe" |
3 | File::blockdev?( path) 如果 path 是块设备,则返回 true。 |
4 | File::chardev?( path) 如果 path 是字符设备,则返回 true。 |
5 | File::chmod( mode, path...) 更改指定文件的权限模式。 |
6 | File::chown( owner, group, path...) 更改指定文件的所有者和组。 |
7 | File::ctime( path) 返回路径的最后一个节点更改时间。 |
8 | File::delete( path...) File::unlink( path...) 删除指定的文件。 |
9 | File::directory?( path) 如果 path 是一个目录,则返回 true。 |
10 | File::dirname( path) 返回路径的目录部分,不带最终文件名。 |
11 | File::executable?( path) 如果路径是可执行的,则返回 true。 |
12 | File::executable_real?( path) 如果路径是具有真实用户权限的可执行文件,则返回 true。 |
13 | File::exist?( path) 如果路径存在则返回真。 |
14 | File::expand_path( path[, dir]) 返回path的绝对路径,将~展开为进程所有者的主目录,将~user展开为用户的主目录。 相对路径从 dir 指定的目录解析,如果 dir 省略,则从当前工作目录解析。 |
15 | File::file?( path) 如果 path 是常规文件,则返回 true。 |
16 | File::ftype( path) 返回以下代表文件类型的字符串之一 − file − 常规文件 directory − 目录 characterSpecial − 字符专用文件 blockSpecial − 阻止特殊文件 fifo − 命名管道(FIFO) link − 符号链接 socket − 套接字 unknown − 未知文件类型 |
17 | File::grpowned?( path) 如果路径归用户组所有,则返回 true。 |
18 | File::join( item...) 返回一个字符串,该字符串由连接在一起的指定项组成,File::Separator 分隔每个项。 e.g File::join("", "home", "usrs", "bin") # => "/home/usrs/bin" |
19 | File::link( old, new) 创建指向旧文件的硬链接。 |
20 | File::lstat( path) 与 stat 相同,只是它返回符号链接本身的信息,而不是它们指向的文件。 |
21 | File::mtime( path) 返回路径的最后修改时间。 |
22 | File::new( path[, mode = "r"]) File::open( path[, mode = "r"]) File::open( path[, mode = "r"]) {|f| ...} 打开一个文件。 如果指定了块,则使用作为参数传递的新文件执行该块。 块退出时文件会自动关闭。 这些方法与 Kernel.open 的不同之处在于即使路径以 | 开头,以下字符串也不会作为命令运行。 |
23 | File::owned?( path) 如果路径归有效用户所有,则返回 true。 |
24 | File::pipe?( path) 如果 path 是管道,则返回 true。 |
25 | File::readable?( path) 如果路径可读,则返回 true。 |
26 | File::readable_real?( path) 如果路径在真实用户权限下可读,则返回 true。 |
27 | File::readlink( path) 返回路径指向的文件。 |
28 | File::rename( old, new) 将文件名从旧更改为新。 |
29 | File::setgid?( path) 如果设置了路径的 set-group-id 权限位,则返回 true。 |
30 | File::setuid?( path) 如果设置了路径的 set-user-id 权限位,则返回 true。 |
31 | File::size( path) 返回路径的文件大小。 |
32 | File::size?( path) 返回路径的文件大小,如果为 0,则返回 nil。 |
33 | File::socket?( path) 如果 path 是套接字,则返回 true。 |
34 | File::split( path) 返回一个数组,其中包含拆分为 File::dirname(path) 和 File::basename(path) 的路径内容。 |
35 | File::stat( path) 返回带有路径信息的 File::Stat 对象。 |
36 | File::sticky?( path) 如果设置了路径的粘滞位,则返回 true。 |
37 | File::symlink( old, new) 创建一个指向旧文件的符号链接。 |
38 | File::symlink?( path) 如果 path 是符号链接,则返回 true。 |
39 | File::truncate( path, len) 将指定的文件截断为 len 个字节。 |
40 | File::unlink( path...) 删除路径中给定的文件。 |
41 | File::umask([ mask]) 如果未指定参数,则返回此进程的当前 umask。 如果指定了参数,则设置 umask,并返回旧的 umask。 |
42 | File::utime( atime, mtime, path...) 更改指定文件的访问和修改时间。 |
43 | File::writable?( path) 如果路径是可写的,则返回真。 |
44 | File::writable_real?( path) 如果 path 可使用真实用户权限写入,则返回 true。 |
45 | File::zero?( path) 如果路径的文件大小为 0,则返回 true。 |
实例方法
假设 f 是 File 类的一个实例 −
序号 | 方法 & 描述 |
---|---|
1 | f.atime 返回 f 的最后访问时间。 |
2 | f.chmode( mode) 更改 f 的权限模式。 |
3 | f.chown( owner, group) 更改 f 的所有者和组。 |
4 | f.ctime 返回 f 的最后一次 inode 更改时间。 |
5 | f.flock( op) 调用flock(2)。 op 可以是 0 或文件类常量 LOCK_EX、LOCK_NB、LOCK_SH 和 LOCK_UN 的逻辑或。 |
6 | f.lstat 与 stat 相同,只是它返回符号链接本身的信息,而不是它们指向的文件。 |
7 | f.mtime 返回 f 的最后修改时间。 |
8 | f.path 返回用于创建 f 的路径名。 |
9 | f.reopen( path[, mode = "r"]) 重新打开文件。 |
10 | f.truncate( len) 将 f 截断为 len 个字节。 |