Ruby教程
Ruby控制语句
Ruby高级

Ruby 文件 I/O

Ruby 文件 I/O

Ruby I/O 是一种与系统交互的方式。数据以字节/字符的形式发送。 IO 类是Ruby 中所有输入和输出的基础。它可能是双工的,因此可能使用多个本机操作系统流。
IO 有一个子类 File 允许在 Ruby 中读取和写入文件。这两个类密切相关。 IO 对象表示与键盘和屏幕的可读/可写交互。

I/O口常见模式

"r":只读模式是从文件开头开始的默认模式。 "r+": 读写模式,从文件开头开始。 "w": 只写模式,要么创建一个新文件,要么截断现有文件以进行写入。 "w+": 读写模式,要么创建一个新文件,要么截断现有文件以进行读写。 "a": 只写模式,如果文件存在,它将附加文件,否则将创建一个新文件用于只写。 "a+": 读写模式,如果文件存在则追加文件,否则会创建一个新文件进行读写。

IO 控制台

IO 控制台提供了与控制台交互的不同方法。 IO 类提供以下基本方法:
IO::console IO#raw#raw! IO#cooked IO#cooked! IO#getch IO#echo= IO#echo? IO#noecho IO#winsize IO#winsize= IO#iflush IO#ioflush IO#oflush

Ruby 打开文件

Ruby 文件可以使用不同的读取、写入或两者兼而有之的方法创建。
在Ruby中有两种打开文件的方法:
File.new 方法: 使用此方法可以创建一个新文件,用于读取、写入或两者兼而有之。 File.open 方法: 使用此方法创建一个新的文件对象。该文件对象被分配给一个文件。
这两种方法的区别在于 File.open 方法可以关联一个块,而 File.new 方法不能。
语法:
f = File. new( "fileName.rb")
或者,
File. open( "fileName.rb", "mode") do |f|
创建文件的示例
让我们使用 File.open 方法在 Ruby 中创建一个文件,以从文件中读取或写入数据。
Step 1) 在文件 hello.rb 中,编写代码以创建一个新文件,如下所示。
#!/usr/bin/ruby File. open( 'about', 'w') do |f| f.puts "this is lidihuo" f.write "You are reading Ruby tutorial.\n" f << "Please visit our website.\n" end
Step 2) 在控制台中输入以下两个命令查看创建的文件。
ruby hello.rb cat about
Ruby file io 1
新建文件,内容如上图显示在终端中。

Ruby 读取文件

读取文件有三种不同的方法。
要返回单行,使用以下语法。
语法:
f.gets code...
要返回当前位置后的整个文件,使用以下语法。
语法:
f.read code...
要将文件作为行数组返回,使用以下语法。
语法:
f.readlines [code...]

读取文件的示例

让我们使用 File.open 方法在 Ruby 中创建一个文件以从文件中读取或写入数据。
Step 1) 在文件 hello.rb 中,编写代码以读取已经存在的文件,如下所示。
#!/usr/bin/ruby while line = gets puts line end
步骤 2) 在控制台中键入以下命令以读取文件。
ruby hello.rb about
Ruby file io 2
控制台显示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
输出:
Ruby file io 3
参数 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 file io 4

Ruby 重命名和删除文件

Ruby 文件使用 rename 方法重命名并使用 delete mehtod 删除。
To rename 一个文件,使用以下语法。
语法:
File. rename( "olderName.txt", "newName.txt")
示例:
#!/usr/bin/ruby File. rename( "about.txt", "new.txt")
输出:
Ruby file io 5
在上面的输出中,about.txt文件不再存在,因为其名称已更改为 new.txt 文件。
要删除文件,请使用以下语法。
语法:
File. delete( "filename.txt")
示例:
#!/usr/bin/ruby File. delete( "new.txt")
输出:
Ruby file io 6
在上面的输出中,new.txt文件已被删除,不再存在。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4