打开和关闭文件
截至现在,您已经读取并写入标准输入和输出。现在,我们将看看如何操作实际的数据文件。
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+ | 读写模式。如果文件存在,则文件指针被放置在文件的末尾。也就是说,文件是追加模式。如果文件不存在,则创建一个新文件用于读写。 |