ruby的seek和pos设置和查找那个"点"

ruby的seek和pos设置和查找那个
Paste_Image.png
ruby的seek和pos设置和查找那个
Paste_Image.png

前提是path要存在也就是smallfile.txt要存在,fd是读取一次就会自增一个数字
path = Dir.pwd + "/smallfile.txt"
fd = IO.sysopen(path,"r+")
stream = IO.open(fd,"r+")

ruby的seek和pos设置和查找那个
Paste_Image.png
ruby的seek和pos设置和查找那个
Paste_Image.png
ruby的seek和pos设置和查找那个
Paste_Image.png
ruby的seek和pos设置和查找那个
Paste_Image.png
ruby的seek和pos设置和查找那个
Paste_Image.png

调用flush把写入的文件从缓冲区刷新到文件中
irb(main):057:0> stream = File.open(path,"r+")
=> #
irb(main):058:0> stream.fileno
=> 18
irb(main):059:0> stream.pos
=> 0
irb(main):060:0> stream.getc
=> "a"

irb(main):072:0> stream.puts("y")
=> nil
irb(main):073:0> stream.flush
=> #
irb(main):072:0> stream.puts("y")
=> nil
irb(main):073:0> stream.flush
=> #

我们把pos放在最前面然后gets第一行第二行

ruby的seek和pos设置和查找那个
Paste_Image.png

我们获取获取字节,如果getbytes为空则我们重新定位pos位置为0从0开始

ruby的seek和pos设置和查找那个
Paste_Image.png

对于二进制文件的操作这样是很有效率的

ruby的seek和pos设置和查找那个
Paste_Image.png
ruby的seek和pos设置和查找那个
Paste_Image.png
ruby的seek和pos设置和查找那个
Paste_Image.png

你可能感兴趣的:(ruby的seek和pos设置和查找那个"点")