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>
  • 相关阅读:
    习题8-8 判断回文字符串
    Field笔记
    Object类中的方法
    字符和字节的区别
    Layui搜索设置每次从第一页开始
    Springboot+Jpa+Layui使用Pageable工具进行数据分页
    Map<String, Object>返回类型
    List集合中剔除重复的数据
    Springboot+Mybatis(Mysql 、Oracle) 注解和使用Xml两种方式批量添加数据
    MySql中group_concat函数的使用
  • 原文地址:https://www.cnblogs.com/cnblogsfans/p/1568804.html
Copyright © 2011-2022 走看看