`
yeluowuhen
  • 浏览: 151464 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

ruby读取文件操作

阅读更多
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
分享到:
评论

相关推荐

    Ruby Ini文件读写

    Ruby的Ini文件读写,含实例,操作方法 对于学习Ruby的人会有一定的参考价值。

    Ruby常用文件操作方法

    主要介绍了Ruby常用文件操作方法,本文讲解了新建文件、读取文件、删除、重命名文件、目录操作等常用文件操作方法,需要的朋友可以参考下

    ruby-git, ruby/Git是一个 ruby 库,可以通过将系统调用包装到Git二进制文件来创建读取和操作Git存储库.zip

    ruby-git, ruby/Git是一个 ruby 库,可以通过将系统调用包装到Git二进制文件来创建读取和操作Git存储库 用于 ruby的 Git库在 ruby 中使用Git的库。主页项目源代码的Git public 位于:...

    rubyPHP高性能的PHP框架

    sql缓存指之前执行过的查询sql语句以及他的结果缓存在内存中,在一段时间内用相同的sql语句执行查询操作时不经过数据库直接返回内存中数据。rubyPHP使用Redis以键值方式缓存sql语句以及他的对应结果。rubyPHP能够在...

    gpx:Ruby GPX库

    该库读取GPX文件,并提供用于读取和操作作为对象的数据的API。 有关GPX格式的更多信息,请参见 。 除了解析GPX文件之外,该库还能够将Magellan NMEA文件转换为GPX,将GeoJSON数据转换为GPX以及编写新的GPX文件。 它...

    stl-ruby:读写STL文件

    STL 读取、写入和操作 ASCII 和二进制安装将此行添加到应用程序的 Gemfile 中: gem 'stl'然后执行: $ bundle或者自己安装: $ gem install stl用法 require 'stl'stl = STL . read ( 'my_awesome.stl' )stl . ...

    ruby-git:RubyGit是一个Ruby库,通过将系统调用包装到git二进制文件中,可用于创建,读取和操作Git存储库

    Git Gem提供了一个API,通过将系统调用包装到git二进制文件中,可用于创建,读取和操作Git存储库。 该API可用于与Git进行复杂的交互,包括分支和合并,对象检查和操作,历史记录,补丁生成等。 主页 该项目的源代码...

    chunky_png:在纯Ruby中对PNG图像的读写访问

    矮胖PNG 该库可以读取和写入PNG文件。 它是用纯Ruby编写的,以实现最大的可移植性。 我再说一遍:它不需要RMagick或任何其他内存泄漏图像库。特征解码PNG标准允许的任何图像。 这包括所有标准颜色模式,所有位深度,...

    malloc:Ruby 的原始内存分配

    {Hornetseye::Malloc.new} 可以分配内存,使用 {Hornetseye::Malloc#+} 可以做指针操作,{Hornetseye::Malloc#read} 和 {Hornetseye::Malloc#write} 提供读取 Ruby从内存中取出字符串并将 Ruby 字符串写入内存。...

    fit4ruby:Fit4Ruby是一个用于读取和写入FIT文件的Ruby库

    Fit4Ruby Fit4Ruby是用于读取和写入FIT文件的库。 该库仍在开发中,可能尚未准备好在您的应用程序中使用。 但是,欢迎您尝试并向我发送评论和补丁。 它是作为的后端而开发的。支持的设备经过测试的设备:Garmin FR...

    一个纯Ruby汇编器-Ruby开发

    我不确定100%是否算作纯Ruby,因为它只读取JSON文件并使用元程序执行其中的大多数操作。 无论如何,您可以使用它在Ruby中编写汇编,然后对其进行汇编。 我以Wilson Fisk的名字命名,主要是因为它使我想起了这个项目...

    google-drive-ruby:一个用于在Google DriveDocs中读写文件电子表格的Ruby库

    谷歌驱动器Ruby 这是一个Ruby库,用于在Google云端硬盘/文档中读取/写入文件/电子表格。 注意:这不是创建Google Drive应用程序的库。有一些不兼容的API更改。 参见 。将此行添加到您的应用程序的Gemfile中: gem '...

    get-messages:Ruby脚本从SQS提取消息并保存到json文件

    它只是读取消息,不会从队列中清除消息。 克隆此存储库,然后按照以下说明进行操作。 要运行脚本: 安装Ruby 运行bundle install 使用正确的配置文件运行脚本并传递队列URL: saml2aws exec --exec-profile ...

    一种读取MOBI格式元数据的Ruby方法-Ruby开发

    安装gem install mobi用法创建Mobi :: Metadata对象Mobi :: Metadata.new(File.open('/ path / to / file.mobi'))一种便捷的便捷方法,可以完成与Mobi.metadata文件完全相同的操作。 open('/ path / to / file....

    简单的Ruby中的Socket编程教程

    Ruby提供了两个级别访问网络的服务,在底层你可以访问操作系统,它可以让你实现客户端和服务器为面向连接和无连接协议的基本套接字支持。 Ruby 统一支持应用程的网络协议,如FTP、HTTP等。 不管是高层的还是底层的。...

    Python 操作文件的基本方法总结

    Python 操作文件 编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最...8,读写文件操作 9,剪切,或者拷贝整个目录或文件到另一个位置下 1,创建文件方法: f=open

    purecdb:纯Ruby CDB读写器w64位扩展

    纯CDB 带有64位扩展的纯Ruby CDB读取器/写入器有关CDB的信息,请参见: : 编写此文件的动机是: Bernstein的CDB格式最多只能处理4GB的文件。 对于过去的项目,我们需要一个简单的CDB样式文件用于数据集,其次数是...

    depix:读取和写入DPX文件头

    一个用于DPX文件元数据的Ruby读写器库。 什么是DPX文件? DPX代表 除了图像数据外,这些文件还嵌入了大量元数据,这些元数据可用于自动分类和搜索大文件集(并且搜索是必不可少的,因为一部完整的故事片可以很好地...

    matlab代码输入如何换行符-glm-wrangler:Ruby脚本,用于GridLAB-D模型文件的面向对象操作

    您很可能需要编写一些自定义的ruby代码,使其能够执行所需的操作,但是我尝试使此操作尽可能简单。 执照 GLMWrangler是:copyright:2012,作者:Michael A. Cohen。 它在下发布。 要求 GLMWrangler是为ruby 1.9编写的...

Global site tag (gtag.js) - Google Analytics