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。


实例方法

假设 fFile 类的一个实例 −

序号 方法 & 描述
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 个字节。

❮ Ruby 文件 I/O