Ruby/File Directory/Binary File

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

Содержание

File read 500 bytes

f = open("binary")
f.read(500)                               
f.pos                                     
f.eof?                                    
f.close



Move file position

f = open("binary")
f.pos = 4                                 
f.read(2)                                 
f.pos



Open a binary file with rb+

f = open("binary", "rb+")
f.read                                    
f.pos = 2
f.write("Hello.")
f.rewind
f.read                                    
f << "Goodbye."
f.rewind
f.read                                    
f.close



Processing a Binary File

open("binary", "wb") do |f|
  (0..100).step(10) { |b| f << b.chr }
end
s = open("binary", "rb") { |f| f.read }



Read a binary file by byte

open("binary", "rb") { |f| f.each_byte { |b| puts b } }



Read one byte from a binary file

f = open("binary")
puts f.pos                                
puts f.read(1)                            
puts f.pos



Seek by position

f = open("binary")
f.seek(8)
f.pos                                     
f.seek(-4, File::SEEK_CUR)
f.pos                                     
f.seek(2, File::SEEK_CUR)
f.pos                                     
# Move to the second-to-last byte of the file.
f.seek(-2, File::SEEK_END)
f.pos