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