Ruby 编程/参考/对象/IO
外观
IO 类本质上是一个抽象类,它提供用于在流上使用的方法(例如,打开文件或打开套接字)。
基本上,你可以在上面调用许多不同的东西。
请注意,在 1.9 中,每次调用都会返回一个带有编码集的字符串,该编码集基于建立连接的方式,例如
a = File.new('some filename', 'rb:ASCII-8BIT') # strings from this will be read in as ASCII-8BIT b = File.new('some filename', 'r') # strings from this will be read in as whatever the Encoding.default_external is # you can change what the encoding will be a.set_encoding "UTF-8" # from now on it will read in UTF-8
gets
读取一行,或者一直读取到文件/流的末尾(如果提供了换行符,则包含尾随的换行符)。一个阻塞调用。
recv(1024)
读取最多 1024 字节,并返回你的字符串。一个阻塞调用。如果套接字从另一端正常关闭,则读取 ""。它还有非阻塞的伙伴。
read
读取到文件末尾或套接字关闭为止。返回任意数量的字节。阻塞。有关如何避免阻塞的信息,请参见Socket.