每次都要查,真是蛋疼,不如一次性总结一下,以后再不记得就来这里找好了。
以下代码中需要用到的文件名:filename = ‘testfile.txt’

  • 读取其中的全部内容:File.read(filename)

  • 将一个字符串一次性写入这个文件:
    File.write(filename, str)

  • 读取文件内容,依次处理其中的每一行:

File.foreach(filename) do |line|#process each line
end
  • 判断文件是否存在:File.exists?(filename)

  • 删除文件:File.delete(filename)

  • 文件重命名:File.rename(filename, new_name)

  • 文件的名字:file.path # file是一个File对象

  • 文件的绝对路径:File.absolute_path(filename)

  • 当前所在目录:Dir.pwd

  • 当前登录用户的home目录:Dir.home

  • 创建文件夹:Dir.mkdir(dir_name) #注意,如果父目录不存在的话,这里无法创建子目录

  • 删除文件夹:Dir.rmdir(dir_name)

  • 创建多级目录(mkdir -p):FileUtils.mkdir_p(path) #这里需要require fileutils

  • 找出当前目录下的所有文件或目录:Dir.glob("*")

  • 找出当前目录下的所有Ruby文件:Dir.glob("*.rb")

  • 判断目录是否存在:Dir.exists?(dir_name)

  • 用文件夹和文件组成一个路径:File.join(dir_name, filename)

  • 当前文件(正在执行的文件)相对于当前所在目录(pwd目录)的相对路径:__FILE__

  • 当前文件(正在执行的文件)的目录相对于当前所在目录(pwd目录)的相对路径:File.dirname(__FILE__)

  • 当前文件(正在执行的文件)的绝对路径:File.expand_path(__FILE__)

  • 当前文件(正在执行的文件)所在目录的绝对路径:File.expand_path(File.dirname(__FILE__))

最后附上File.open(filename, mode) 中的mode各种取值以及含义:

Mode Meaning
"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 lengthor 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" Binary file mode (may appear with any of the key letters listed above). Suppresses EOL <-> CRLF conversion on Windows. And sets external encoding to ASCII-8BIT unless explicitly specified.
"t" Text file mode (may appear with any of the key letters listed above except "b").

有任何意见或建议,或者发现文中任何问题,欢迎留言!

更多文章请访问个人博客
作者:邹小创
Github:https://github.com/ChrisZou
邮件:happystriving@126.com

Ruby file操作cheatsheet相关推荐

  1. ruby File类

    类方法 路径相关: File.basename(filename <, suffix>) -> string返回给定文件名 filename 的最后一部分.如果有 suffix 参数 ...

  2. Ruby 文件目录操作(实例讲解更易懂)

    IO 操作 $stdout [4] pry(main)> $stdout.print "Output to $stdout.\n" Output to $stdout. =& ...

  3. go语言中的文件file操作

    一.File文件操作 首先,file类是在os包中的,封装了底层的文件描述符和相关信息,同时封装了Read和Write的实现. 1.FileInfo接口 FileInfo接口中定义了File信息相关的 ...

  4. 零基础学Python(第十九章 File操作·IO流补充章节)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...

  5. Java文件File操作一:文件的创建和删除

    一.简述 File 文件类,主要对文件进行相关操作.常用的File操作有:文件(夹)的创建.文件(夹)的删除,文件的读入和下载(复制)等: 二.文件(夹)的创建和删除 1.创建过程 实例: //cre ...

  6. 链接orientdb的图形数据库_OrientDB数据库(ruby语言操作)

    OrientDB是兼具文挡数据库的灵活性和图形数据库管理链接能力的可深层次扩展的文档-图形数据库管理系统.可选无模式.全模式或混合模式下.支持许多高级特性,诸如ACID事务.快速索引,原生和SQL查询 ...

  7. Ruby 数组操作(和 Python3 列表+元组+集合 对比)

    本来是想写到 Ruby 学习笔记一块的,但是数组操作这块的内容也太多了,所以单独提取出来了.Ruby 里没有单独的集合的概念,或许是因为数组就已经足够涵盖了这些了.所以,话不多说,直接上菜(为了对比明 ...

  8. Ruby 字符串操作(和 Python3 字符串操作进行对比)

    本来是想写到 Ruby 学习笔记一块的,但是字符串操作这块的内容确实太多了,所以单独提取出来了. Ruby 和 Python 两种语言都支持单引号和双引号的字符串.话不多说,直接上菜(为了对比明显,R ...

  9. python文件输入符_python文件IO与file操作

    1 标准输入输出IO - (1) 打印到屏幕 print() print(self, *args, sep=' ', end='n', file=None): 把传递的表达式 转换成一个 字符串表达式 ...

最新文章

  1. 数据结构学习笔记(2)
  2. 并查集 Python实现
  3. boost::hana::fix用法的测试程序
  4. Python中的iteritems()和items()
  5. 异步复位设计中的亚稳态问题及其解决方案
  6. javascript 面向对象的理解、数据属性的特征,基本数据类型、三大引用类型,方法
  7. xshell中进入PLSQL命令不能使用方向键和退格键的做法(输入后显示乱码)
  8. JS打印菱形、简易计算器
  9. 超算优化重在存储,DAOS助力瑞金打造先进的生信大数据平台
  10. 68 个 Python 内置函数详解,初学者一定不要错过,建意收藏学习
  11. 4递归实现阶乘计算器 5递归实现TreeView绑定表MenuTree
  12. x264和x265编码技术的区别
  13. JavaScript 数据结构与算法(队列)
  14. php的知识体系结构图,高中英语全部知识体系结构图汇总
  15. 今年云计算的主要趋势,混合云/边缘计算/Serverless
  16. 机器学习之Matplotlib
  17. 010 Editor 9.0.2——注册错误(010 Editor has detected that you have entered an invalid license.)
  18. 【随笔】非科班转互联网到底有多大成本?
  19. 网易云音乐与阿里音乐牵手!后版权时代,在线音乐拼什么?
  20. 【省选模拟】西行(FWT)

热门文章

  1. 图片马赛克去除工具_图片太多该如何进行排版呢?
  2. oracle 存储过程打印语句,oracle学习之第一个存储过程:打印Hello World
  3. 暗黑2战网服务器爆率修改,暗黑2修改MOD最初级基础
  4. 处理入参_看看优秀的程序员是如何处理NPE的
  5. java程序员面试怎么难为面试官_Java程序员面试这些多线程问题你知道吗?
  6. h3c交换机配置远程管理_H3C S3100交换机配置VLAN和远程管理
  7. java se5和8_javaSE_8系列博客——Java语言的特性(三)--类和对象(5)--定义方法...
  8. java for foreach 效率_Java中LinkedList的fori和foreach效率比较
  9. linux系统关机half,Linux 学习 (六) 关机与重启命令
  10. 去哪里找与计算机相关的外文,找计算机相关的外文翻译