class BufferedReadStream
cangjie
public class BufferedReadStream <: InputStream & Seekable功能:表示支持缓冲读取的输入流。
提供行读取和缓冲区预读能力,对应 ASP.NET Core 的 BufferedReadStream。
父类型:
InputStreamSeekable
成员概览
| 成员 | 功能 |
|---|---|
| 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- 当行长度超过限制时抛出。