本文概述
- I / O端口的通用模式
- IO控制台
- Ruby打开文件
- Ruby读取文件
- 读取文件的例子
- Ruby编写文件
- Ruby重命名和删除文件
IO有一个子类作为File类, 它允许在Ruby中读写文件。这两个类别紧密相关。 IO对象表示与键盘和屏幕的可读/可写交互。
I / O端口的通用模式
- ” r” :只读模式是默认模式, 从文件开头开始。
- ” r +” :读写模式, 从文件开头开始。
- ” w” :只写模式, 创建一个新文件或截断一个现有文件以进行写入。
- ” w +” :读写模式, 创建一个新文件或截断现有文件以进行读写。
- ” a” :仅写模式, 如果文件存在, 它将另外向该文件追加一个新文件, 仅用于写操作。
- ” a +” :读写模式, 如果文件存在, 它将另外添加文件, 将创建一个新文件进行读写。
- IO ::控制台
- IO#raw#raw!
- 我煮#
- #我熟!
- IO#残培
- IO#回波=
- IO#呼应?
- IO#NOECHO
- IO#使用winsize
- IO#使用winsize =
- IO#IFLUSH
- IO#ioflush
- IO#oflush
有两种方法可以在Ruby中打开文件:
- File.new方法:使用此方法可以创建一个新文件, 以进行读取, 写入或两者同时进行。
- File.open方法:使用此方法可以创建一个新的文件对象。该文件对象已分配给文件。
句法:
f = File.new("fileName.rb")
要么,
File.open("fileName.rb", "mode") do |f|
创建文件的示例
让我们使用File.open方法在Ruby中创建一个文件, 以从文件中读取或写入数据。
步骤1)在文件hello.rb中, 编写代码以创建一个新文件, 如下所示。
#!/usr/bin/ruby
File.open('about', 'w') do |f|
f.puts "This is srcmini"
f.write "You are reading Ruby tutorial.\n"
f <
<
"Please visit our website.\n"
end
步骤2)在控制台中键入以下两个命令以查看创建的文件。
ruby hello.rb
cat about
文章图片
如上所示, 将创建新文件并在终端中显示内容。
Ruby读取文件 有三种不同的读取文件的方法。
要返回单行, 请使用以下语法。
句法:
f.gets
code...
要在当前位置之后返回整个文件, 请使用以下语法。
句法:
f.read
code...
要将文件作为行数组返回, 请使用以下语法。
句法:
f.readlines
[code...]
读取文件的例子 让我们使用File.open方法在Ruby中创建一个文件, 以从文件中读取或写入数据。
步骤1)在文件hello.rb中, 编写代码以读取一个已经存在的文件, 如下所示。
#!/usr/bin/ruby
while line = gets
puts line
end
步骤2)在控制台中键入以下命令以读取文件。
ruby hello.rb about
文章图片
关于文件的内容显示在控制台中。
sysread方法
sysread方法还用于读取文件的内容。借助此方法, 你可以以任何方式打开文件。
例:
在文件hello.rb中, 编写代码以读取一个已经存在的文件, 如下所示。
#!/usr/bin/ruby aFile = File.new("about.txt", "r")
if aFile
content = aFile.sysread(40)
puts content
else
puts "Unable to open file!"
end
输出
文章图片
参数40将打印到文件中的40个字符。
Ruby编写文件 借助syswrite方法, 你可以将内容写入文件。该方法需要以写入模式打开文件。
新内容将取代现有内容中的旧内容。
例:
#!/usr/bin/ruby aFile = File.new("about.txt", "r+")
if aFile
aFile.syswrite("New content is written in this file.\n")
end
输出
文章图片
Ruby重命名和删除文件 Ruby文件使用重命名方法重命名, 并使用删除方法删除。
要重命名文件, 请使用以下语法。
句法:
File.rename("olderName.txt", "newName.txt")
例:
#!/usr/bin/ruby File.rename("about.txt", "new.txt")
【Ruby文件I/O操作示例详细图解】输出
文章图片
在上面的输出中, about.txt文件不再存在, 因为其名称已更改为new.txt文件。
要删除文件, 请使用以下语法。
句法:
File.delete("filename.txt")
例:
#!/usr/bin/ruby File.delete("new.txt")
输出
文章图片
在上面的输出中, new.txt文件已删除, 因此不再存在。
推荐阅读
- Ruby异常用法示例详细图解
- Ruby日期和时间处理和用法
- Ruby目录操作示例详细图解
- Ruby代码块或闭包用法详解
- Ruby运算符介绍和用法图解
- Ruby方法用法详细图解
- Ruby变量介绍和使用图解
- Ruby哈希介绍和用法
- 什么是Ruby()