全面剖析Ruby随机存取文件

对于一个刚刚学习编程语言不久的朋友来说对于Ruby语言可能还是有些陌生的。它是一种新兴的解释型脚本语言。如果你想实现Ruby随机存取文件,你能够使用seek方法。#t#

创新互联是一家以成都网站建设、网页设计、品牌设计、软件运维、seo优化、小程序App开发等移动开发为一体互联网公司。已累计为活动板房等众行业中小客户提供优质的互联网建站和软件开发服务。

它是File从Io继承而来的.它的最简单的使用就是指定一个字节位置.这个位置是相对于文件开始的位置(开始的位置是0):

  1. # myfile contains 
    only: abcdefghi   
  2. file = File.new("myfile")   
  3. file.seek(5)   
  4. str = file.gets# "fghi" 

如果你能确定每一行都是固定的长度,你就能seek指定的行进行Ruby随机存取文件:

  1. # Assume 20 bytes per line.   
  2. # Line N starts at byte (N-1)*20   
  3. file = File.new("fixedlines")   
  4. file.seek(5*20)# Sixth line!   
  5. # Elegance is left as an exercise. 

如果你想做一个相对的搜索,你就要使用第二个参数,常量 IO::SEEK_CUR表示当前的位置,而第一个参数则就是相对于当前位置的偏移量(可能是负数):

 
 
 
  1. file = File.new("somefile")   
  2. file.seek(55) # Position is 55   
  3. file.seek(-22, IO::SEEK_CUR)
     # Position is 33   
  4. file.seek(47, IO::SEEK_CUR)
    # Position is 80 

你也能从文件的结束位置开始Ruby随机存取文件:

 
 
 
  1. file.seek(-20, IO::SEEK_END)
     # twenty bytes from eof 

方法tell得到文件的当前位置,pos是它的别名:

 
 
 
  1. file.seek(20)   
  2. pos1 = file.tell # 20   
  3. file.seek(50, IO::SEEK_CUR)   
  4. pos2 = file.pos # 70  

rewind方法将会将文件指针的位置设回到开始的位置,也就是0.

以上就是Ruby随机存取文件的各种方法介绍,希望对大家有所帮助。

本文标题:全面剖析Ruby随机存取文件
网址分享:http://www.csdahua.cn/qtweb/news29/57879.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网