ruby的seek和pos設(shè)置和查找那個(gè)"點(diǎn)"

Paste_Image.png
Paste_Image.png

前提是path要存在也就是smallfile.txt要存在,fd是讀取一次就會(huì)自增一個(gè)數(shù)字
path = Dir.pwd + "/smallfile.txt"
fd = IO.sysopen(path,"r+")
stream = IO.open(fd,"r+")

Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png

調(diào)用flush把寫入的文件從緩沖區(qū)刷新到文件中
irb(main):057:0> stream = File.open(path,"r+")
=> #<File:/m8/ruby/smallfile.txt>
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
=> #<File:/m8/ruby/smallfile.txt>
irb(main):072:0> stream.puts("y")
=> nil
irb(main):073:0> stream.flush
=> #<File:/m8/ruby/smallfile.txt>

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

Paste_Image.png

我們獲取獲取字節(jié),如果getbytes為空則我們重新定位pos位置為0從0開始

Paste_Image.png

對(duì)于二進(jìn)制文件的操作這樣是很有效率的

Paste_Image.png
Paste_Image.png
Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容