📜  Ruby文件I O(1)

📅  最后修改于: 2023-12-03 14:47:09.950000             🧑  作者: Mango

Ruby 文件 I/O

在 Ruby 中,可以使用 IO 类来实现文件的输入和输出操作。IO 类是所有输入输出类的父类,它提供了包括文件操作在内的大量 IO 操作方法。

打开文件

在 Ruby 中,使用 File 类来打开文件,并返回一个 IO 实例对象。通过 IO 实例对象,可以对文件进行读写操作。

file = File.open('file.txt', 'r')
# 第一个参数为文件名,第二个参数为打开方式,r 表示只读,w 表示只写,a 表示追加,r+ 表示可读可写,w+ 表示可读可写,会先将文件清空。默认为只读模式。

# 进行一些文件操作

file.close  # 关闭文件
读取文件内容

读取文件内容有多种方式,下面分别介绍。

读取整个文件
file = File.open('file.txt', 'r')
content = file.read
puts content
file.close

这段代码将整个文件内容读取到 content 变量中,并输出到控制台。

一行一行读取文件
file = File.open('file.txt', 'r')
file.each_line do |line|
  puts line
end
file.close

这段代码将文件内容一行一行地读取,并输出到控制台。

指定字符集读取文件
file = File.open('file.txt', 'r:UTF-8')
content = file.read
puts content
file.close

这段代码指定了文件的字符集为 UTF-8,读取整个文件内容并输出到控制台。

写入文件内容

写入文件操作同样有多种方式,下面分别介绍。

写入整个文件
file = File.open('file.txt', 'w')
file.write('hello world')
file.close

这段代码将字符串 "hello world" 写入文件中。

追加文件内容
file = File.open('file.txt', 'a')
file.write('hello world')
file.close

这段代码将字符串 "hello world" 追加写入文件中。

带行号写入文件内容
file = File.open('file.txt', 'w')
content = ["hello", "world", "ruby"]
content.each_with_index do |line, index|
  file.write("#{index + 1}: #{line}\n")
end
file.close

这段代码将数组中的每个字符串带上行号写入文件中。

总结

在 Ruby 中,通过 File 和 IO 类可以轻松实现文件的读写操作。读取文件内容有三种方式:读取整个文件、一行一行读取文件、指定字符集读取文件。写入文件内容也有三种方式:写入整个文件、追加文件内容、带行号写入文件内容。以上介绍的都是最基本的用法,实际应用中还有更多操作可以探索。