當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby IO.pread用法及代碼示例


本文簡要介紹ruby語言中 IO.pread 的用法。

用法

pread(maxlen, offset[, outbuf]) → string

使用 pread 係統調用從 ios 讀取 maxlen 字節,並將它們作為字符串返回,而不修改底層說明符偏移量。與組合 IO#seek IO#read 相比,這是有利的,因為它是原子的,允許多個線程/進程共享相同的 IO 對象以在不同位置讀取文件。這繞過了 IO 層的任何用戶空間緩衝。如果存在可選的 outbuf 參數,則它必須引用 String ,它將接收數據。錯誤時引發 SystemCallError ,文件末尾引發 EOFError ,如果平台未實現係統調用,則引發 NotImplementedError

File.write("testfile", "This is line one\nThis is line two\n")
File.open("testfile") do |f|
  p f.read           # => "This is line one\nThis is line two\n"
  p f.pread(12, 0)   # => "This is line"
  p f.pread(9, 8)    # => "line one\n"
end

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 IO.pread。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。