zoukankan      html  css  js  c++  java
  • ruby Dir类

    类方法

    1. Dir[pat]

        Dir::glob( pat)

           返回一个数组,包含与指定的通配符模式 pat 匹配的文件名:

    • * - 匹配包含 null 字符串的任意字符串
    • ** - 递归地匹配任意字符串
    • ? - 匹配任意单个字符
    • [...] - 匹配封闭字符中的任意一个
    • {a,b...} - 匹配字符串中的任意一个
        
      # 获取当前目录中所有的文件名
      puts Dir.glob('*')
      
      # 获取当前目录中所有隐藏文件名
      puts Dir.glob('.*')
      
      # 获取当前目录中扩展名为.rb或者.txt的文件
      puts Dir.glob(['*.rb', '*.txt'])
      puts Dir.glob(%w(*.rb *.txt)) # 或者这样
      
      # 获取当前目录及其子目录下的所有文件, 递归查找目录
      puts Dir.glob('**/*')
      
      # 获取当前目录下所有后缀为.txt的文件名,递归查找目录
      puts Dir.glob('**/*.txt')

    2. Dir::chdir( path)
        改变当前目录。 

    puts Dir.pwd #=> D:/Program Files/RubyMine 2017.test.text.5/workspace/dir
    Dir.chdir('../') #=> 移动到上层路径
    puts Dir.pwd #=> D:/Program Files/RubyMine 2017.test.text.5/workspace
    io = File.open('test.rb') #=> 打开D:/Program Files/RubyMine 2017.test.text.5/workspace目录下的test.rb文件
    io.close

    3. Dir::getwd
        Dir::pwd

        返回当前目录

    4.  Dir::mkdir( path[, mode=0777])

      创建指定目录,可指定目录权限。如果创建失败则返回 SystemCallError 错误

    5. Dir::rmdir( path)

        Dir::unlink( path)

        Dir::delete( path)

        删除空的文件夹,如果文件夹内有文件,则会有 SystemCallError 崩溃

    6. Dir::new( path)
        Dir::open( path)
          Dir::open( path) {| dir| ...}

        返回 path 的新目录对象。如果 open 给出一个块,则新目录对象会传到该块,块会在终止前关闭目录对象

    # 目录内容的读取
    #test.text.while
    dir = Dir.open('./')
    while name = dir.read
      p name
    end
    dir.close
    
    # 2.each
    dir = Dir.open('./')
    dir.each do |name|
      p name
    end
    dir.close
    
    # 3.open(常用,使用该方法后可以省略close方法的调用)
    Dir.open('./') do |dir|
      dir.each do |name|
        p name
      end
    end

    7. Dir::foreach( path) {| f| ...}

        为 path 指定的目录中的每个文件执行一次块

    实例方法

  • 相关阅读:
    斯坦福ML公开课笔记15—隐含语义索引、神秘值分解、独立成分分析
    [cocos2d-x]屏幕自适应解决的方法
    【机器学习实验】学习Python来分类现实世界的数据
    按花生酱,赞不绝口——敏捷12准则的敏捷解释
    linux命令笔记之ls
    HTML5 Canvas动画效果实现原理
    互联网+时代的人生必修课—逆商
    WebService的相关使用
    将一个链表中的结点依照奇偶分成两个链表
    web开发性能优化---用户体验篇
  • 原文地址:https://www.cnblogs.com/wf0117/p/9034133.html
Copyright © 2011-2022 走看看