Ruby如何进行文件操作


Posted in 面试题 onJuly 17, 2014
Ruby使用File类来操作文件,可以通过File.new来创建一个File类的实例并打开这个文件。
file = File.new(“testfile”, “r”)
# … process the file
file.close
testfile是想要操作的文件名,”r”说明了文件的操作模式为读取。可以使用”w”表示写入,”rw”表示读写。

最后要记得关闭打开的文件,确保所有被缓冲的数据被写入文件,所有相关的资源被释放。

也可以使用File.open来打开文件,open和new的不同是open可以使用其后的代码块而new方法则返回一个File类的实例。
File.open(“testfile”, “r”) do |file|
# … process the file
end

open操作的另一个优点是处理了异常,如果处理一个文件发生错误抛出了
异常的话,那么open操作会自动关闭这个文件,下面是open操作的大致实现:
class File
def File.open(*args)
result = f = File.new(*args)
if block_given?
begin
result = yield f
ensure
f.close
end
end
return result
end
end

对于文件的路径,Ruby会在不同的操作系统间作转换。例如,在Windows下,/ruby/sample/test.rb会被转化为\ruby\sample\test.rb。当你使用字符串表示一个Windows下的文件时,请记住使用反斜线先转义:
“c:\\ruby\\sample\\test.rb”
也可以使用File::SEPARATOR表示不同系操作统的路径分割符。

Tags in this post...

面试题 相关文章推荐
如何用PHP实现邮件发送
Dec 26 面试题
使用useBean标志初始化BEAN时如何接受初始化参数
Feb 11 面试题
什么是类的返射机制
Feb 06 面试题
一套带答案的C++笔试题
Jan 10 面试题
数据库什么时候应该被重组
Nov 02 面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 面试题
南京软件公司的.net程序员笔试题
Aug 31 面试题
简单说下OSPF的操作过程
Aug 13 面试题
接口可以包含哪些成员
Sep 30 面试题
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
Dec 03 面试题
如何整合JQuery和Prototype
Jan 31 面试题
华为python面试题
May 03 面试题
Ruby如何实现动态方法调用
Nov 18 #面试题
介绍一下Ruby的特点
Jan 20 #面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
J2EE包括哪些技术
Nov 25 #面试题
J2EE的优越性主要表现在哪些方面
Mar 28 #面试题
You might like
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
php中socket通信机制实例详解
2015/01/03 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
JS 树形递归实例代码
2010/05/18 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
python3.5仿微软计算器程序
2020/03/30 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python实现公司年会抽奖程序
2019/01/22 Python
用Python解数独的方法示例
2019/10/24 Python
pandas数据处理之绘图的实现
2020/06/15 Python
python如何删除文件、目录
2020/06/23 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
最新的大学生找工作自我评价
2013/09/29 职场文书
现金会计岗位职责
2013/12/05 职场文书
优秀员工推荐信
2014/05/10 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
个人收入证明格式
2015/06/24 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
浅谈Redis缓冲区机制
2022/06/05 Redis