一步一步学Ruby(二十): 文件使用
2009-09-17 21:43 敏捷的水 阅读(2614) 评论(1) 编辑 收藏 举报1 2 3 | f= File . new ( File .join( "C:" , "Test.txt" ), "w+" ) f.puts( "I am Jack" ) f.puts( "Hello World" ) |
文件模式
"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 length or 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" :(DOS/Windows only.) Binary file mode. May appear with any of the key letters listed above
二、读取文件
1 2 3 | file= File .open( File .join( "C:" , "Test.txt" ), "r" ) file. each { |line| print "#{file.lineno}." , line } file.close |
输出:
1.白日依山尽
2.黄河入海流
3.欲穷千里目
4.更上一层楼
三、新建、删除、重命名文件
1 2 3 | File . new ( "books.txt" , "w" ) File .rename( "books.txt" , "chaps.txt" ) File .delete( "chaps.txt" ) |
三、目录操作
1 2 3 4 5 6 7 8 9 10 11 12 13 | 创建目录 Dir .mkdir( "c:/testdir" ) #删除目录 Dir .rmdir( "c:/testdir" ) #查询目录里的文件 p Dir .entries( File .join( "C:" , "Ruby" )).join( ' ' ) #遍历目录 Dir .entries( File .join( "C:" , "Ruby" )). each { |e| puts e } |
输出:
1 2 | "C:/studyruby" "c:/ruby" |
查看目录信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | d:\Study\rubysample>irb irb(main): 001 : 0 > dir= Dir .open( File .join( "C:" , "Ruby" ) ) => # irb(main): 002 : 0 > dir.path => "C:/Ruby" irb(main): 003 : 0 > dir.tell => 0 irb(main): 004 : 0 > dir.read => "." irb(main): 005 : 0 > dir.rewind => # irb(main): 006 : 0 > dir. each {|e| puts e} . .. bin ChangeLog.txt doc lib LICENSE .txt man MANIFEST misc README .1st ReleaseNotes.txt ruby.ico rubyopt.del rubyw.ico samples scite share src uninstall.exe => # irb(main): 007 : 0 > |
扫码关注公众号,了解更多管理,见识,育儿等内容

出处:http://www.cnblogs.com/cnblogsfans
版权:本文版权归作者所有,转载需经作者同意。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)