zoukankan      html  css  js  c++  java
  • 一步一步学Ruby(二十): 文件使用

    一、新建文件
    f=File.new(File.join("C:","Test.txt"), "w+")
    f.puts("I am Jack")
    f.puts("Hello World")

    文件模式

    "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=File.open(File.join("C:","Test.txt"),"r")
    file.each { |line| print "#{file.lineno}.", line }
    file.close

    输出:

    1.白日依山尽
    2.黄河入海流
    3.欲穷千里目
    4.更上一层楼

    三、新建、删除、重命名文件

    File.new( "books.txt", "w" )
    File.rename( "books.txt", "chaps.txt" )
    File.delete( "chaps.txt" )

    三、目录操作

    创建目录
    Dir.mkdir("c:/testdir")
    
    #删除目录
    Dir.rmdir("c:/testdir")
    
    #查询目录里的文件
    p Dir.entries(File.join("C:","Ruby")).join(' ')
    
    #遍历目录
    Dir.entries(File.join("C:","Ruby")).each {
          |e| puts e
    }

    输出:

    "C:/studyruby"
    "c:/ruby"

    查看目录信息

    d:\Study\rubysample>irb
    irb(main):001:0> dir=Dir.open( File.join("C:","Ruby") )
    => #
    irb(main):002:0> dir.path
    => "C:/Ruby"
    irb(main):003:0> dir.tell
    => 0
    irb(main):004:0> dir.read
    => "."
    irb(main):005:0> dir.rewind
    => #
    irb(main):006:0> dir.each{|e| puts e}
    .
    ..
    bin
    ChangeLog.txt
    doc
    lib
    LICENSE.txt
    man
    MANIFEST
    misc
    README.1st
    ReleaseNotes.txt
    ruby.ico
    rubyopt.del
    rubyw.ico
    samples
    scite
    share
    src
    uninstall.exe
    => #
    irb(main):007:0>
  • 相关阅读:
    .Net编程接口中的迭代器(转)
    微软,您的.net为中国程序员带来了什么?(转)
    二进制,八进制,十进制,十六进制转换
    简单实现SQL Server2000数据库缓存
    联合查询
    也谈用反射实现Enum→String映射:一种重视性能的方法 (转)
    javascript事件列表解说(转)
    ASP.NET上传控件
    杂杞
    在.net中生成wml
  • 原文地址:https://www.cnblogs.com/cnblogsfans/p/1568804.html
Copyright © 2011-2022 走看看