Ruby 文件的输入与输出
Ruby 文件的输入与输出
Ruby 是一门松散类型、动态性的脚本编程语言,被广泛应用于 Web 开发以及各种自动化脚本编写中。而在 Ruby 的开发过程中,文件 I/O(Input/Output)是一个非常重要的部分,主要是用来读取、写入、创建和修改文件。在本文中,我们将探讨 Ruby 文件的输入与输出。
文件操作
在 Ruby 中,我们需要使用特殊的文件类来进行文件操作。这个类称作“File”,是 Ruby 内置的文件操作类,有几个常用的方法:
方法 | 描述 |
---|---|
new | 创建文件对象。 |
open | 打开文件。 |
close | 关闭文件。 |
read | 读取文件内容。 |
write | 写入文件内容。 |
delete | 删除文件。 |
exists | 检查文件是否存在。 |
rename | 重命名文件。 |
chmod | 修改文件读、写、执行权限。 |
chown | 修改所有者或用户组。 |
size | 获取文件大小。 |
directory? | 检查是否是一个目录。 |
file? | 检查是否是一个文件。 |
symlink? | 检查是否是一个符号链接。 |
owned? | 检查文件是否属于当前用户。 |
executable? | 检查文件是否可执行。 |
文件的读取
在 Ruby 中,我们可以使用四种常用的方法来读取文件:read、readline、readlines 和 each_line。
read 方法
read 方法用于读取文件,读取指定的字符数(或所有字符),并返回一个字符串。
# 示例
file = File.new("example.txt", "r")
puts "1. " + file.read(15) # 读取前 15 个字符
puts "2. " + file.read(15) # 继续读取接下来的 15 个字符
puts "3. " + file.read # 读取余下的所有字符
file.close
readline 方法
readline 方法用于读取文件的一行,并返回一个字符串。
# 示例
file = File.new("example.txt", "r")
puts "1. " + file.readline # 输出第一行
puts "2. " + file.readline # 输出第二行
file.close
readlines 方法
readlines 方法用于读取整个文件,并返回每一行的内容所构成的数组。
# 示例
file = File.new("example.txt", "r")
puts file.readlines.inspect # 输出数组内容
file.close
each_line 方法
each_line 方法用于对每一行进行循环迭代。
# 示例
File.open("example.txt", "r") do |file|
file.each_line do |line|
puts "#{file.lineno}: #{line}"
end
end
文件的写入
在 Ruby 中,我们可以使用两种常用的方法来写入文件:write 和 puts。
write 方法
write 方法用于写入数据,并返回写入的字符数。
# 示例
file = File.new("example.txt", "w")
file.write("Hello, World!")
file.close
puts 方法
puts 方法用于向文件写入数据,并自动在行末添加行终止符。
# 示例
File.open("example.txt", "w") do |file|
file.puts "Hello, World!"
end
# 向文件追加数据
File.open("example.txt", "a") do |file|
file.puts "Hello, Ruby!"
end
文件的创建和删除
在 Ruby 中,我们可以使用 File 类的 new 方法来创建新的文件。
# 示例
file = File.new("example.txt", "w")
file.close
文件创建后,我们可以使用 delete 方法来删除指定的文件。
# 示例
File.delete("example.txt")
读取二进制文件
在 Ruby 中,我们也可以通过以下代码来读取二进制文件:
File.open("example.bin", "rb") do |file|
bytes = []
while byte = file.read(1)
bytes << byte.bytes.first
end
end
Conclusion
本文主要介绍了 Ruby 文件的输入与输出,包括读取文件、写入文件、创建和删除文件等几方面的知识点,并且介绍了 Ruby 文件读取和写入的常用方法。熟练掌握 Ruby 文件操作和读写技巧,有助于提高 Ruby 的文件操作能力和编程效率。