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...

面试题 相关文章推荐
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
说出数据连接池的工作机制是什么?
Apr 19 面试题
C++是不是类型安全的
Feb 18 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
介绍一下.NET构架下remoting和webservice
May 08 面试题
什么是三层交换,说说和路由的区别在那里
Sep 01 面试题
铭立家具面试题
Dec 06 面试题
C#笔试题
Jul 14 面试题
外企测试工程师面试题
Feb 01 面试题
什么是会话Bean
May 14 面试题
介绍一下javax.servlet.Servlet接口及其主要方法
Nov 30 面试题
J2EE中的容器都包括哪些
Aug 21 面试题
Ruby如何实现动态方法调用
Nov 18 #面试题
介绍一下Ruby的特点
Jan 20 #面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
J2EE包括哪些技术
Nov 25 #面试题
J2EE的优越性主要表现在哪些方面
Mar 28 #面试题
You might like
一个目录遍历函数
2006/10/09 PHP
php学习之 认清变量的作用范围
2010/01/26 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
python计算最大优先级队列实例
2013/12/18 Python
python GUI实例学习
2017/11/21 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
python调用其他文件函数或类的示例
2019/07/16 Python
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
小学运动会入场式解说词
2014/02/18 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
数学系毕业生求职信
2014/05/29 职场文书
航空学院求职信
2014/06/11 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
2015年护士节活动总结
2015/02/10 职场文书
绿里奇迹观后感
2015/06/15 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
分享Python异步爬取知乎热榜
2022/04/12 Python