类方法

  路径相关:

  • File.basename(filename <, suffix>) -> string
    返回给定文件名 filename 的最后一部分。如果有 suffix 参数,且它出现在 filename 的末尾。 则它将被删除。通过使用 ".*" 可以去除任意扩展名

    File.basename('/home/test/ruby.rb')  #=> ruby.rb
    File.basename('/home/test/ruby.rb', '.rb') #=> ruby
    File.basename('/home/test/ruby.rb', '.*') #=> ruby
  • File.dirname(filename) -> filename
    返回给定文件 filename 中除了最后一部分的其余部分
    File.dirname('/home/test/ruby.rb') #=> /home/test
    File.dirname('ruby.rb') #=> .
  • File.extname(path) -> string
    返回文件的扩展名(文件名 path 中句点后面的部分)
    File.extname('test.rb')  #=> .rb
    File.extname('a/b/c/test.rb') #=> .rb
    File.extname('text') #=> ""
  • File.expand_path(filename, <dirstring>) -> filename
    转换路径名为绝对路径,除非有dirstring参数,相对路径是相对于进程的当前工作目录而言的,如果给定了 dirstring ,
    那么它将作为路径的起点.给定的路径可能以~开头,它将被扩展为进程主人的主目录(环境变量HOME必须正确设置)
    ~user 扩展为给定用户的主目录
    File.expand_path('test') #=> D:/Program Files/RubyMine 2017.1.5/workspace/File/test
    File.expand_path('test', 'D:/') #=> D:/test
  • File.split(filename) -> array
    把给定的字符串分割成目录和文件,并返回包含它们的具有两个元素的数组
    File.split('/home/test/ruby.rb') #=> ['/home/test', 'ruby.rb']
    File.split('ruby.rb') #=> ['.', 'ruby.rb']
  • File.join(<string>+) -> filename
    使用 File::SEPARATOR 连接字符串,并返回该新结果字符串
    File.join('user', 'mail', 'ruby.rb') #=> user/mail/ruby.rb
  • File.rename(oldname, newname) -> 0
    重命名给定的文件或者目录为新名字,如果不能成功重命名,则引发SystemCallError
    File.rename('1.txt', '2.txt')
  • File.directory?(path) -> true or false
    如果给定的文件是目录,则返回true,否则返回false
    File.directory?('.') #-> true
  • File.exist?(filename) -> true or false
    如果给定的文件或目录存在,则返回true
    File.exist?('test.txt') #-> true
  • File.file?(filename) -> true or false
    如果给定的文件是一个普通文件(不是设备文件,目录,管道,socket等等),则返回true
    File.file?('test.txt') #=> true
    File.file?('.') #=> false
  • File.socket?(filename) -> true or false
    如果给定的文件是socket文件则返回true,如果不是或者操作系统不支持这种特性则返回false
    File.socket?('test.txt') #=> false

  时间

  • File.atime(filename) -> time
    返回一个包含文件最后访问时间的Time对象,如果文件未被访问过,则返回纪元时间
  • File.ctime(filename) -> time
    返回一个含有给定文件最后状态修改时间的Time对象
  • File.mtime(filename) -> time
    返回包含文件被修改时间的一个Time对象

  文件创建

  • File.new(filename, modestring='r') -> file
    File.new(filename <, modenum <, permission>>) -> file
    File.new(fd <, modenum <, permission>>) -> file
    根据模式modestring(默认为r)打开名为filename的文件(或关联已经打开的文件描述符fd)并返回一个新的File对象

    File.new('afile', 'r')
    File.new('bfile', 'w+')
    File.new('cfile', File::CREAT|File::TRUNC|File::RDWR)
  • File.open(filename, modestring='r') -> file
    File.open(filename <, modenum <, permission>>) -> file
    File.open(fd <, modenum <, permission>>) -> file
    File.open(filename, modestring='r'){|file| block } -> obj
    File.open(filename <, modenum <, permission>>){|file| block } -> obj
    File.open(fd <, modenum <, permission>>){|file| block } -> obj

    如果没有关联的block,那么open和File.new同义,如果提供了代码block,他将传递file作为参数,
    并且当block执行结束时文件将被自动关闭,这种情况下,File.open返回block的值

  • File.readable?(filename) -> true or false
    如果本进程的有效用户ID可以读给定的文件,则返回true
    File.readable?('test.txt') #=> true
  • File.writable?(filename) -> true or false
    如果给定的文件可以被进程的有效用户ID写,则返回true
    File.writable?('test.txt') #-> true
  • File.size(filename) -> int
    返回文件的字节大小
    File.size('test.txt') #=> 9
  • File.size?(filename) -> int or nil
    如果给定文件的长度为0,则返回nil,否则返回其大小。在测试的条件语句中很有用

  

实例方法

最后了解一下于文件操作相关的库:

find,tempfile,fileutils,pathname

参考:https://ninghao.net/blog/4097

     http://www.cnblogs.com/cnblogsfans/archive/2009/09/17/1568804.html

ruby File类的更多相关文章

  1. 雷林鹏分享:Ruby File 类和方法

    Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...

  2. java IO(一):File类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  3. 雷林鹏分享:Ruby Dir 类和方法

    Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流.Dir 类也拥有与目录相关的操作,比如通配符文件名匹配.改变工作目录等. 类方法 序号方法 & 描述 1 ...

  4. java中File类的使用

    public class FileLei {    public static void main(String[] args) throws IOException {        //..表示上 ...

  5. File 类

    File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...

  6. C#File类常用的文件操作方法(创建、移动、删除、复制等)

    File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...

  7. File类基础

    File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...

  8. 【转】File类应用 - FilenameFilter 和 FileFilter

    FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...

  9. Java篇-File类之创建删除

    /** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...

随机推荐

  1. 常见WEB开发安全漏洞 原因分析及解决

    目 录 1 会话标识未更新 3 1.1 原因 3 1.2 解决 3 2 SQL注入 3 2.1 原因 3 2.2 解决 5 3 XSS跨站脚本编制 5 3.1 原因 5 3.2 解决 5 4 XSRF ...

  2. C#设计模式之代理模式(四)

    15.7 代理模式效果与适用场景 代理模式是常用的结构型设计模式之一,它为对象的间接访问提供了一个解决方案,可以对对象的访问进行控制.代理模式类型较多,其中远程代理.虚拟代理.保护代理等在软件开发中应 ...

  3. SQL Server 的 主键 解决方案 NEWID() , 自增ID

    在 SQL Server 表的主键有自增Id ,和  GUID. 1.  自增Id 优点:索引空间小,索引连续.在大量数据插入的时候性能有特别大的优势. 缺点:可移植性差,在数据迁移的时候. 2. G ...

  4. Flask入门邮件同步与异步发送(九)

    ​ 应用场景: 用户在注册或者密码丢失等过程中,账号绑定邮箱,用户在进行身份认证的过程中,电子邮箱确实是一种很常用的方式,Python中提供了smtplib可以实现发送电子邮件功能,Flask框架也有 ...

  5. SQL 数据匹配更新

    萌新的成长之路! 最近遇到的一个需求是需要将两张关联的表的数据进行匹配(dbo.SystemUser[系统用户表]:dbo.V_Temp[系统权限视图]),即通过匹配用户ID与系统ID(拥有的系统ID ...

  6. Selenium2学习(十四)-- 加载Firefox配置

    前言有小伙伴在用脚本启动浏览器时候发现原来下载的插件不见了,无法用firebug在打开的页面上继续定位页面元素,调试起来不方便 . 加载浏览器配置,需要用FirefoxProfile(profile_ ...

  7. EM自动任务导致数据库缓慢

    这两天客户抱怨数据库慢,查看性能什么的没发现什么异常.查看job发现一个内容为EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS执行特别频繁.使用 EXEC DBMS_ ...

  8. Jmeter入门15 JSON Assertion 适用于json格式的响应断言

    当响应结果是json格式时,用JSON Assertion更方便判断. 1 在请求上右键添加json断言 2  编辑json Assertion 判断方式: 如果响应结果不是json格式的,fail ...

  9. python:类与对象命名空间、面对对象的组合用法

    1,类里可以定义两种属性: #静态属性 #静态属性就是直接在类中定义的变量 #动态属性 #动态属性就是定义在类中的方法 class Course: language = ['Chinese']#静态属 ...

  10. Uva 11294 婚姻

    题目链接:https://vjudge.net/contest/166461#problem/C 题意: n对夫妻,有m对人吵过架,不能排在同一边,求新娘的一边的人: 分析: 每对夫妻,看成两个点,女 ...