Skip to content

class BufferedReadStream

cangjie
public class BufferedReadStream <: InputStream & Seekable

功能:表示支持缓冲读取的输入流。

提供行读取和缓冲区预读能力,对应 ASP.NET Core 的 BufferedReadStream。

父类型:

  • InputStream
  • Seekable

成员概览

成员功能
init(InputStream)使用默认缓冲区大小创建实例。
init(InputStream, Int64)使用指定缓冲区大小创建实例。
prop length返回底层流长度。
prop position返回当前读取位置。
prop remainLength返回剩余可读长度。
prop bufferedData返回当前缓冲区视图。
func seek(SeekPosition)调整当前流位置。
func read(Array<Byte>)读取数据到指定缓冲区。
func ensureBuffered(Int64)确保缓冲区中至少有指定数量的字节可用。
func ensureBuffered()确保缓冲区非空。
func readLine(Int64)读取一行文本。

init(InputStream)

cangjie
public init(stream: InputStream)

功能:使用默认缓冲区大小创建实例。

参数:

  • stream: InputStream - 要包装的输入流。

init(InputStream, Int64)

cangjie
public init(stream: InputStream, bufferSize: Int64)

功能:使用指定缓冲区大小创建实例。

参数:

  • stream: InputStream - 要包装的输入流。
  • bufferSize: Int64 - 缓冲区大小。

异常:

  • UnsupportedException - 当输入流不支持定位时抛出。

prop length

cangjie
public prop length: Int64

功能:返回底层流长度。

类型:Int64

prop position

cangjie
public prop position: Int64

功能:返回当前读取位置。

类型:Int64

prop remainLength

cangjie
public prop remainLength: Int64

功能:返回剩余可读长度。

类型:Int64

prop bufferedData

cangjie
public prop bufferedData: (Array<Byte>, Int64, Int64)

功能:返回当前缓冲区视图。

类型:(Array<Byte>, Int64, Int64)

func seek(SeekPosition)

cangjie
public func seek(pos: SeekPosition): Int64

功能:调整当前流位置。

参数:

  • pos: SeekPosition - 目标位置描述。

返回值:

  • Int64 - 调整后的绝对位置。

异常:

  • IOException - 当目标位置超出流范围时抛出。

func read(Array<Byte>)

cangjie
public func read(buffer: Array<Byte>): Int64

功能:读取数据到指定缓冲区。

参数:

  • buffer: Array<Byte> - 用于接收数据的缓冲区。

返回值:

  • Int64 - 实际读取的字节数。

func ensureBuffered(Int64)

cangjie
public func ensureBuffered(minCount: Int64): Bool

功能:确保缓冲区中至少有指定数量的字节可用。

参数:

  • minCount: Int64 - 最少需要保留的字节数。

返回值:

  • Bool - 如果成功缓冲到足够数据则返回 true;流已结束时返回 false。

异常:

  • IllegalArgumentException - 当请求的字节数超过缓冲区大小时抛出。

func ensureBuffered()

cangjie
public func ensureBuffered(): Bool

功能:确保缓冲区非空。

返回值:

  • Bool - 如果缓冲区中存在可读数据则返回 true;流已结束时返回 false。

func readLine(Int64)

cangjie
public func readLine(lengthLimit: Int64): String

功能:读取一行文本。

参数:

  • lengthLimit: Int64 - 行长度上限。

返回值:

  • String - 不包含结尾 CRLF 的行字符串。

异常:

  • IOException - 当行长度超过限制时抛出。