1、文件的打开与关闭
``r'' Read-only, starts at beginning of file (default mode).
``r+'' Read-write, starts at beginning of file.
``w'' Write-only, truncates existing file to zero length or creates a new file for writing.
``w+'' Read-write, truncates existing file to zero length or creates a new file for reading and writing.
``a'' Write-only, starts at end of file if file exists, otherwise creates a new file for writing.
``a+'' Read-write, starts at end of file if file exists, otherwise creates a new file for reading and writing.
``b'' (DOS/Windows only) Binary file mode (may appear with any of the key letters listed above).
使用file.new方法获取一个文件句柄来对文件操作,操作结束后file.close来关闭文件。
file.open方法是new方法的扩充,该方法可有代码块,该代码块结束后自动close,而且在操作过程中发生错误时能够自动收集错误并推出
如
file.open("filepath") do |file|
file.each do |line| ... end
end
一些文件的常用命令:
File.open(dir+"/read.txt","w") do |file|
file.puts("djkjsadlkjdkdsfdsee")
end
puts File.exists?(dir+"/read.txt") 文件是否存在
puts File.directory?(dir+"/read.txt") 文件是否是目录路径
puts File.file?(dir+"/read.txt") 是否是文件
puts File.zero?(dir+"/read.txt") 文件内容长度是否为0
puts File.size(dir+"/read.txt") 获取文件大小
puts File.readable?(dir+"/read.txt") 文件是否可读
puts File.stat(dir+"/read.txt") 文件状态,文件实例
puts File.basename(dir+"/read.txt",".txt") 文件名称
f = File.new(dir+"/read.txt","r")
puts File.stat(dir+"/read.txt").atime
puts f.atime
puts f.path
#f.delete #删除文件
f.close
2 目录文件操作
Dir.foreach(dir) do |ff|
puts ff
end
输出:
.
..
fileOpt.rb
read.txt
test.rb
tt
write.txt
Dir[dir+"/*"] .each do |ff| #这种方法可在*出增加条件如*.rb来指定文件类型,或aa*.rb甚至可以使用正则表达式
puts ff
end
输出:
E:/WorkSpace/ruby/fileOpt.rb
E:/WorkSpace/ruby/read.txt
E:/WorkSpace/ruby/test.rb
E:/WorkSpace/ruby/tt
E:/WorkSpace/ruby/write.txt
#~ Dir.mkdir(dir+"/tt") 创建路径
Dir.rmdir(dir+"/tt") 路径删除
p Dir.entries(dir)
输出:
[".", "..", "fileOpt.rb", "read.txt", "test.rb", "write.txt"]
3、查询目录及子目录文件
require "find"
Find.find("/etc/passwd", "/var/spool/lp1", ".") do |f|
Find.prune if f == "."
puts f
end
原型:ref.find( [ aName ]* ) {| aFileName | block }
prune:Skips the current file or directory, restarting the loop with the next entry. If the current file is a directory, that directory will not be recursively entered. Meaningful only within the block associated with Find::find.
4、文件比较 复制等
require 'ftools'
File.copy 'testfile', 'testfile1' » true
File.compare 'testfile', 'testfile1' » true
分享到:
相关推荐
# 执行文件操作 file.close ``` 在写入或追加文件时,模式有所不同: ```ruby # 写入文件,会覆盖原有内容 File.open('example.txt', 'w') do |file| file.write('Hello, world!') end # 追加内容,不会覆盖原有...
在Ruby编程语言中,读取配置文件(如cfg文件)是一项常见的任务,这通常涉及到从文件中获取特定的键值对以供程序使用。...通过这种方式,你可以更好地理解和掌握在Ruby中读取和操作配置文件的方法。
当我们谈论“Ruby读取INI文件”时,我们指的是使用Ruby代码解析和操作INI配置文件。INI文件是一种简单的文本文件格式,常用于存储软件配置数据,结构清晰,易于人阅读和编辑。每个部分由一个大写的键名定义,键值对...
本篇将详细介绍 Ruby 中如何进行文件操作,包括但不限于文件的创建、读取、追加、删除及重命名等操作。 #### 文件的创建与打开 在 Ruby 中,可以使用 `File.new` 方法来创建一个新的文件对象。例如: ```ruby ...
本文将详细介绍如何在Ruby脚本中进行文件操作,包括文件的打开、读取、写入、关闭以及文件属性的查询等。 Ruby的文件操作功能强大而灵活,通过本文的介绍,你应该已经掌握了如何在Ruby脚本中进行文件的读取、写入、...
Ruby Ini文件读写是Ruby编程语言中处理配置文件的一种常见方式。INI文件是一种简单的文本格式,通常用于存储用户配置或程序设置,结构清晰,易于人类阅读。Ruby提供了多种库来帮助开发者方便地读取和写入这些文件,...
Ruby库如`roo`可以方便地读取Excel文件,而`Nokogiri`则可以用来创建和操作XML文档。 首先,我们需要了解`roo`库。`roo`是Ruby中用于读取不同类型的电子表格文件(如Excel、OpenOffice、Google Sheets)的库。安装`...
在Ruby编程语言中,文件对比...通过理解基本的文件操作以及利用`diff-lcs`库,你可以轻松地创建出满足各种需求的文件对比脚本和报告。在实践中不断探索和优化,你会发现Ruby在文件处理方面有着极高的灵活性和强大功能。
2. **文件操作**:`path.exist?`,`path.dirname`,`path.basename`,`path.extname`等方法提供关于路径的各种信息。 四、`IO`类 `IO`类是输入/输出流的基础,可以用于读写文件,例如: 1. **重定向标准输出**:`...
在Ruby编程语言中,文件操作是非常基础且重要的部分,它允许开发者与文件系统进行交互,包括创建、读取、修改、删除以及管理目录。下面将详细阐述Ruby中的这些常用文件操作方法。 一、新建文件 在Ruby中,新建文件...
在Ruby中操作Excel文件主要是通过`win32ole`库来实现的,这个库允许Ruby程序与Windows操作系统中的Office应用程序进行交互,如Microsoft Excel。以下是关于如何使用Ruby操作Excel的详细步骤和知识点: 1. **引入win...
在Ruby编程语言中,对目录的操作是至关重要的,...总的来说,Ruby提供了丰富的工具和方法来处理目录和文件操作,使得开发者可以方便地管理文件系统。通过熟练掌握这些API,可以高效地完成各种文件和目录相关的任务。
Ruby的IO类在内核(Kernel)模块中实现,派生自IO类的所有I/O方法提供了基本的文件操作功能,包括但不限于:读取(read)、写入(write)、读取一行(gets)、写入一行(puts)、读取一行(readline)、读取单个字符...
ruby-git, ruby/Git是一个 ruby 库,可以通过将系统调用包装到Git二进制文件来创建读取和操作Git存储库 用于 ruby的 Git库在 ruby 中使用Git的库。主页项目源代码的Git public 位于:...
本文将详细介绍Ruby中用于文件操作的核心方法及其应用场景,帮助初学者掌握这些基础知识。 #### 二、基本概念 在Ruby中,所有I/O操作都是通过`IO`类来完成的。`IO`类包含了诸如`read`、`write`、`gets`、`puts`、`...
除了基本的打开和关闭之外,`File`类还提供了许多方法来进行更复杂的文件操作,例如读取文件内容、检查文件状态等。 **读取文件内容**: 可以使用`read`方法一次性读取整个文件的内容,或者使用`gets`逐行读取。 ``...
以上介绍了一些常用的Ruby文件操作技术,包括文件的创建、读取、写入以及一些高级操作,如使用`StringIO`处理字符串流。这些基本操作是进行文件编程的基础,掌握了它们,就能够应对大部分实际开发中的文件处理需求。
库的核心是其简洁的API,使得开发者可以轻松地进行文件操作。 使用CombinePDF,你可以: 1. **创建PDF文档**:你可以从头开始创建一个新的PDF文件,或者通过读取现有PDF文件来初始化一个新的CombinePDF对象。 2. *...
总的来说,这个“ruby移动图片小工具”展示了Ruby在文件操作、元数据处理和用户友好配置方面的灵活性。它为用户提供了便利,使得管理和组织大量的图片变得更加高效和自动化。如果你需要处理类似的问题,这个小工具或...
在处理XML数据时,Ruby提供了一些库来方便我们读取、解析和操作XML文档。本篇文章将详细探讨“Ruby XML封装好的操作XML对象”的知识点,通过分析`xml_parse.rb`这个文件,我们将了解到如何在Ruby中有效地处理XML。 ...