推荐答案
在 Ruby 中,IO 类提供了许多用于输入输出操作的方法。以下是一些常用的方法:
IO.read: 读取文件内容并返回字符串。IO.write: 将字符串写入文件。IO.foreach: 逐行读取文件内容并执行块。IO.readlines: 读取文件的所有行并返回数组。IO.open: 打开文件并返回文件对象。IO.close: 关闭文件。IO.flush: 刷新缓冲区,确保所有数据写入文件。IO.seek: 移动文件指针到指定位置。IO.tell: 返回当前文件指针的位置。IO.eof?: 检查是否到达文件末尾。
本题详细解读
IO.read
IO.read 方法用于读取整个文件的内容并返回一个字符串。它接受文件名作为参数,并可选的指定读取的起始位置和长度。
content = IO.read("example.txt")
puts contentIO.write
IO.write 方法用于将字符串写入文件。如果文件不存在,它会创建文件;如果文件已存在,它会覆盖文件内容。
IO.write("example.txt", "Hello, World!")IO.foreach
IO.foreach 方法逐行读取文件内容,并对每一行执行给定的块。
IO.foreach("example.txt") do |line|
puts line
endIO.readlines
IO.readlines 方法读取文件的所有行并返回一个数组,数组的每个元素是文件的一行。
lines = IO.readlines("example.txt")
lines.each { |line| puts line }IO.open
IO.open 方法用于打开文件并返回一个文件对象。它通常与块一起使用,以确保文件在使用后自动关闭。
IO.open("example.txt", "r") do |file|
puts file.read
endIO.close
IO.close 方法用于关闭文件。通常在文件操作完成后调用,以释放系统资源。
file = IO.open("example.txt", "r")
puts file.read
file.closeIO.flush
IO.flush 方法用于刷新缓冲区,确保所有数据都写入文件。这在写入大量数据时特别有用。
file = IO.open("example.txt", "w")
file.write("Hello, World!")
file.flushIO.seek
IO.seek 方法用于移动文件指针到指定位置。它接受一个偏移量和一个起始位置(如 IO::SEEK_SET、IO::SEEK_CUR、IO::SEEK_END)。
file = IO.open("example.txt", "r")
file.seek(5, IO::SEEK_SET)
puts file.readIO.tell
IO.tell 方法返回当前文件指针的位置。
file = IO.open("example.txt", "r")
puts file.tell
file.read(5)
puts file.tellIO.eof?
IO.eof? 方法用于检查是否到达文件末尾。如果文件指针位于文件末尾,则返回 true,否则返回 false。
file = IO.open("example.txt", "r")
until file.eof?
puts file.read(10)
end