推荐答案
在 Ruby 中,文件 I/O 操作可以通过 File 类来实现。以下是一些常见的文件操作示例:
// www.javascriptcn.com code example
# 打开文件并读取内容
File.open("example.txt", "r") do |file|
content = file.read
puts content
end
# 写入文件
File.open("example.txt", "w") do |file|
file.write("Hello, World!")
end
# 追加内容到文件
File.open("example.txt", "a") do |file|
file.write("\nAppending new content.")
end
# 逐行读取文件
File.foreach("example.txt") do |line|
puts line
end本题详细解读
文件打开模式
在 Ruby 中,File.open 方法用于打开文件,并且可以指定不同的模式来操作文件。常见的模式包括:
"r":只读模式,文件指针位于文件开头(默认模式)。"w":只写模式,如果文件存在则清空文件内容,如果文件不存在则创建新文件。"a":追加模式,文件指针位于文件末尾,如果文件不存在则创建新文件。"r+":读写模式,文件指针位于文件开头。"w+":读写模式,如果文件存在则清空文件内容,如果文件不存在则创建新文件。"a+":读写模式,文件指针位于文件末尾,如果文件不存在则创建新文件。
文件读取
file.read:读取整个文件内容并返回一个字符串。file.readlines:读取文件的所有行并返回一个数组。file.each_line或File.foreach:逐行读取文件内容。
文件写入
file.write:将字符串写入文件。file.puts:将字符串写入文件,并在末尾添加换行符。
文件关闭
使用 File.open 方法时,通常会在块中操作文件,块结束后文件会自动关闭。如果不使用块,则需要手动调用 file.close 来关闭文件。
file = File.open("example.txt", "r")
content = file.read
file.close异常处理
在进行文件操作时,可能会遇到文件不存在或权限不足等问题。可以使用 begin-rescue 块来捕获并处理这些异常。
begin
File.open("nonexistent.txt", "r") do |file|
content = file.read
puts content
end
rescue Errno::ENOENT => e
puts "File not found: #{e.message}"
end通过这些方法,你可以在 Ruby 中高效地进行文件 I/O 操作。