随风逐叶 随风逐叶
首页
  • Quick Reference (opens new window)
  • EgretEngine开发者文档 (opens new window)
  • TinaX框架
  • SSH教程
  • VSCode插件开发
关于
  • 分类
  • 标签
  • 归档

rontian

从事游戏开发10多年的老菜鸟一枚!
首页
  • Quick Reference (opens new window)
  • EgretEngine开发者文档 (opens new window)
  • TinaX框架
  • SSH教程
  • VSCode插件开发
关于
  • 分类
  • 标签
  • 归档
  • 框架简介
  • TinaX.Core
  • 基于TinaX创建一个扩展库
  • TinaX.VFS
  • TinaX.UIKit
  • TinaX.I18N
  • TinaX.Lua
  • XLua

  • Google.Protobuf
  • Lua-Protobuf
  • 一些优秀的第三方库

    • CatLib

      • 简介
      • 风格指南
      • 常见问题
      • 已知BUG
      • 更新日志
      • 服务提供者
      • 应用程序
      • 服务容器
      • 服务门面
      • 事件系统
      • 数组
      • 字符串
      • 守卫
      • 有序集
      • 环形缓冲流
      • 包装流
      • 组合流
        • 构建组合流
          • 函数原型
        • Length
          • 函数原型
        • CanSeek
          • 函数原型
        • Position
          • 函数原型
        • CanRead
          • 函数原型
        • CanWrite
          • 函数原型
        • Seek
          • 函数原型
        • Read
          • 函数原型
        • Write
        • SetLength
        • Flush
      • 分片流
    • UniRx

    • UniTask

目录

组合流

# 组合流

组合流允许将多个不同的流组合成一个流,这两个流可以分别为流式传输和非流式传输。

# 构建组合流

var combineStream = new CombineStream()
1

# 函数原型
CombineStream(Stream left, Stream right, bool closed = false);
1
参数 描述
left 左侧的流
right 右侧的流
closed 是否在流读取完成后自动关闭流
CombineStream(Stream[] source, bool closed = false);
1
参数 描述
source 多个流的数组,按照数组顺序排列
closed 是否在流读取完成后自动关闭流

# Length

获取组合流的总长度,如果组合流中的任意一个流不能被获取长度,那么将会引发一个NotSupportedException。

var length = combineStream.Length;
1

# 函数原型
long Length { get; }
1

# CanSeek

判断组合流是否能够偏移,如果组合流中的任意一个流不能够偏移,那么返回false。

var canSeek = combineStream.CanSeek;
1

# 函数原型
bool CanSeek { get; }
1

# Position

获取组合流全局的偏移量

var position = combineStream.Position;
1

# 函数原型
long Position { get; }
1

# CanRead

判断管道流是否可以被读取,如果组合流中的任意一个流不能够读取,那么返回false。

var readable = combineStream.CanRead;
1

# 函数原型
bool CanRead { get; }
1

# CanWrite

判断管道流是否可以被写入。管道流永远返回false。

var writeable = combineStream.CanWrite;
1

# 函数原型
bool CanWrite { get; }
1

# Seek

偏移游标到指定位置。

combineStream.Seek(0, SeekOrigin.Begin);
1

# 函数原型
long Seek(long offset, SeekOrigin origin);
1
参数 描述
offset 指定的偏移位置
origin 偏移方向

# Read

读取组合流中的数据,返回值为实际读取的长度。

var read = combineStream.Read(buffer, 0, buffer.Length);
1

# 函数原型
int Read(byte[] buffer, int offset, int count)
1
参数 描述
buffer 读取的缓冲区
offset 读取缓冲区起始偏移量
count 期望读取的长度

# Write

组合流不支持写入,会引发一个NotSupportedException异常。

# SetLength

组合流不支持设定长度,会引发一个NotSupportedException异常。

# Flush

组合流不支持Flush,会引发一个NotSupportedException异常。

上次更新: 2023/10/17, 17:20:06 访问次数: 0
包装流
分片流

← 包装流 分片流→

最近更新
01
一些Shell常用的功能写法整理
10-20
02
删除git仓库submodule的步骤
10-20
03
django基本命令
10-16
更多文章>
Copyright © 2017-2025 随风逐叶
沪ICP备18008791号-1 | 沪公网安备31011502401077号

网站访问总次数: 0次
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式