全面剖析Ruby随机存取文件

开发 开发工具
Ruby随机存取文件可以通过seek方法来帮助我们实现。那么在实际使用中我们应当怎么操作呢?我们一起来看看本文为大家介绍的相关技巧方法。

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

它是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随机存取文件的各种方法介绍,希望对大家有所帮助。

责任编辑:曹凯 来源: ddvip.com
相关推荐

2009-05-25 15:17:40

C++随机存取文件

2010-05-05 10:20:43

Java

2009-12-16 16:51:05

Ruby on Rai

2009-12-15 15:35:56

Ruby symbol

2009-12-15 14:27:30

Ruby存取器

2009-10-28 13:44:40

linux库文件路径

2009-09-17 13:15:20

LINQ查询

2019-01-04 10:41:07

系统内存SRAM

2009-09-09 14:40:43

Linq to sql

2009-09-22 15:22:08

Hibernate性能

2010-06-11 14:51:34

IS-IS路由协议

2010-03-10 15:44:04

2018-01-29 08:44:14

2009-09-18 17:17:58

LINQ模型

2010-06-09 10:17:19

UML类图元素

2009-10-19 10:52:48

综合布线市场

2010-06-09 13:06:22

UML业务建模实例

2009-06-22 13:40:00

RubyJava

2011-11-16 09:55:27

云计算

2010-06-11 17:18:26

UML精粹
点赞
收藏

51CTO技术栈公众号