当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。