Ruby 教程 之 Ruby 文件的输入与输出 6
Ruby 文件的输入与输出
Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。
类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。
本章节将讲解所有 Ruby 中可用的基础的 I/O 函数。如需了解更多的函数,请查看 Ruby 的 IO 类。
打开和关闭文件
截至现在,您已经读取并写入标准输入和输出。现在,我们将看看如何操作实际的数据文件。
File.new 方法
您可以使用 File.new 方法创建一个 File 对象用于读取、写入或者读写,读写权限取决于 mode 参数。最后,您可以使用 File.close 方法来关闭该文件。
语法
aFile = File.new("filename", "mode")
... 处理文件
aFile.close
File.open 方法
您可以使用 File.open 方法创建一个新的 file 对象,并把该 file 对象赋值给文件。但是,File.open 和 File.new 方法之间有一点不同。不同点是 File.open 方法可与块关联,而 File.new 方法不能。
File.open("filename", "mode") do |aFile|
... process the file
end
下表列出了打开文件的不同模式:
模式 描述
r 只读模式。文件指针被放置在文件的开头。这是默认模式。
r+ 读写模式。文件指针被放置在文件的开头。
w 只写模式。如果文件存在,则重写文件。如果文件不存在,则创建一个新文件用于写入。
w+ 读写模式。如果文件存在,则重写已存在的文件。如果文件不存在,则创建一个新文件用于读写。
a 只写模式。如果文件存在,则文件指针被放置在文件的末尾。也就是说,文件是追加模式。如果文件不存在,则创建一个新文件用于写入。
a+ 读写模式。如果文件存在,则文件指针被放置在文件的末尾。也就是说,文件是追加模式。如果文件不存在,则创建一个新文件用于读写。