Ruby文件操作指南:新建、读取、修改与删除

需积分: 9 1 下载量 51 浏览量 更新于2024-09-11 收藏 453KB PPTX 举报
"这篇资料主要介绍了Ruby中的文件操作,包括新建、读取、删除和重命名文件的方法,以及路径处理和文件模式的使用。" 在Ruby编程语言中,文件操作是一项基本任务,它允许我们与文件系统进行交互。以下是关于Ruby文件操作的一些关键知识点: 1. **新建文件**: 使用`File.new`方法可以创建新文件。例如: ```ruby file = File.new(File.join("F:/ruby","aaa.txt"),"w+") file = File.new("104.txt","w+") ``` 参数一表示文件路径,参数二代表文件模式。`"w+"`模式表示可读写,且如果文件不存在则创建。 2. **路径处理**: - **相对路径**:如`"104.txt"`,是相对于当前工作目录的路径。 - **绝对路径**:如`"F:/ruby/104.txt"`,是文件的完整路径。 - 在Ruby中,路径分隔符可以是`/`或`\`,但建议使用`/`,因为它是跨平台兼容的。 3. **文件模式**: - `"r"`:只读模式,文件必须已经存在。 - `"r+"`:读写模式,文件必须存在。 - `"w"`:写模式,如果文件存在则清空,不存在则创建。 - `"w+"`:读写模式,如果文件存在则清空,不存在则创建。 4. **读取文件**: - `File.open`用于打开文件,`File.read`一次性读取文件全部内容。 ```ruby file = File.open(File.join("F:", "Test.txt"), "r") # 打开文件 file.each { |line| print "#{file.lineno}. #{line}" } # 读取并打印每行内容及行号 file.close # 关闭文件 content = File.read("aaa.txt") # 读取文件内容 ``` 5. **sysread 和 syswrite**: - `sysread`用于从文件中读取指定长度的数据。 - `syswrite`用于向文件中写入数据。 6. **删除和重命名文件**: - `File.rename`用于重命名文件,例如`File.rename("books.txt", "chaps.txt")`。 - `File.delete`用于删除文件,例如`File.delete("chaps.txt")`。 注意:在进行删除和重命名操作前,确保文件已经被正确关闭。 7. **文件操作辅助方法**: - 获取当前文件名:`puts __FILE__` - 获取当前文件的目录名:`puts File.dirname(__FILE__)` - 获取当前文件的完整路径:需要引入`pathname`库,然后使用`Pathname.new(__FILE__).realpath` 通过以上方法,开发者可以有效地对Ruby中的文件进行各种操作,实现对文件系统的灵活控制。在实际编程中,确保正确处理文件状态,避免出现未关闭文件就进行其他操作导致的错误。