在实现缓冲区的流上重写 Flush 。使用此方法将所有信息从基础缓冲区移动到其目标或清除缓冲区,或者同时执行这两种操作。根据对象的状态,可能需要修改流内的当前位置(例如,在基础流支持查找的情况下即如此)。有关其他信息,请参见 CanSeek 。

如果不显式调用 Flush 或 Close 的实现,刷新流将不会刷新其基础编码器。将 AutoFlush 设置为 true 意味着将数据从缓冲区刷新到流中,但不刷新编码器状态。这将允许编码器保持其状态(不完全字符),以便它可以正确地对下一个字符块进行编码。此方案影响 UTF8 和 UTF7,其中某些字符只能在编码器收到相邻的一个或多个字符后才能进行编码。

总结:

在使用Stream的时候, 它的一头连接和源字节流相连,另外一头与目标设备相连(例如文件, 缓冲区, 蓝牙设备等), 某些类型的Stream在与目标设备的链接之间可以设置缓冲区。 Flush()函数的作用就是强制将当前的缓冲区的内容写入目标设备上面,为下一次的写入做准备。

有些Stream流会存储数据,当你调用Write()的时候其实可能不是立刻帮你把信息传导目标设备上去,可能等到缓冲区不够大或者stream.close() 之后才会进行传输操作,所以好的习惯是,定时利用Flush()控制好缓冲区。


参考资料:

[1]  【C#】System.IO.Stream 中flush的用法

System.IO.Stream 中Flush函数的用法相关推荐

  1. 如何将struct System.Byte byte []转换为C#中的System.IO.Stream对象?

    如何将struct System.Byte byte[]转换为C#中的System.IO.Stream对象? #1楼 查看MemoryStream类. #2楼 您正在寻找MemoryStream.Wr ...

  2. 原来在UNITY中使用system.io下的所有函数都可以用相对路径 : Assets/xx

    原来在UNITY中使用system.io下的所有函数都可以用相对路径 : Assets/xx 代码如下图,这样就不用在绝对路径和相对路径之间不断转换了. 想要得到绝对路径时就傅 Application ...

  3. java8 reduce的用法_Java 8系列之Stream中万能的reduce用法说明

    reduce 操作可以实现从Stream中生成一个值,其生成的值不是随意的,而是根据指定的计算模型.比如,之前提到count.min和max方法,因为常用而被纳入标准库中.事实上,这些方法都是redu ...

  4. Python中Print()函数的用法___实例详解(二)(全,例多)

    Python中Print()函数的用法___实例详解(二)(全,例多) 目录 十一.Print()小例子 十二.Print()中文输入显示乱码问题 十三.Print()写入文件 十四.print()在 ...

  5. java reduce的用法_Java 8系列之Stream中万能的reduce用法说明

    reduce 操作可以实现从Stream中生成一个值,其生成的值不是随意的,而是根据指定的计算模型.比如,之前提到count.min和max方法,因为常用而被纳入标准库中.事实上,这些方法都是redu ...

  6. Java中split函数的用法及使用示例

    Java中split函数的用法及使用示例 2010-05-04 10:21 日志原文:http://lhgc.blog.sohu.com/80444801.html java.lang.string. ...

  7. JAVA中split函数的用法

    JAVA中split函数的用法 只写经常使用的,并不完整. 1.基本用法,将字符串按照指定字符串进行分割,例如: public class Main {public static void main( ...

  8. 浅述numpy中argsort()函数的用法

    浅述python中argsort()函数的用法 由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在pyt ...

  9. C++中substr函数的用法

    C++中substr函数的用法 #include<string> #include<iostream> using namespace std; main() { string ...

最新文章

  1. 卷积后feature map尺寸计算公式
  2. 1096 Consecutive Factors
  3. 测试基于2SK241的150kHz的导航信号高频放大器
  4. 上海大学c语言基础题目,求c语言大神学长学姐解答题目
  5. .NET 5.0 RC 2 发布,正式版将在 11 月 .NET Conf 大会上发布
  6. docker 镜像修改的配置文件自动还原_PVE部署LXC运行docker
  7. 多商户商城源码_多商户小程序开发搭建?开达应用多商户入驻商城小程序制作教程...
  8. 玩转Linux系统用户管理
  9. 【Brazilian ICPC Regionals - 2018】Soteros【树上启发式合并】
  10. linux 软件查询,linux安装常用软件和查询基本信息
  11. python监控窗口_Windows下python监控脚本
  12. CentOS7增加或修改SSH端口号的方法
  13. mysql图文混排设计方案_平面设计图文混排技巧,看完再也不用担心排版了
  14. 【编程算法】跳跃游戏ⅠⅡⅢ(Python解法)
  15. 往事如烟 - 老钟15
  16. m227fdw恢复出厂设置_HP各种打印机恢复出厂设置的方法
  17. 华为手机灵敏度设置_华为调屏幕灵敏度设置方法
  18. jQuery+PHP实现的砸金蛋中奖程序
  19. 抖音小店最新招商入驻标准及资质要求是什么
  20. Mysql 5.7 取分组第一条

热门文章

  1. DirectX11 纹理采样
  2. SEER见证人操作指南
  3. 解决ubuntu+windows双系统安装时无法修改SATA Mode为AHCI模式的问题(安装类型页是空白)
  4. 可爱的树链剖分(染色)
  5. 胶囊网络可以PK掉CNN吗?//——暂时不能 胶囊网络的不足点思考
  6. 论文研读-基于种群分布的两阶段自适应知识迁移多目标进化多任务
  7. 【Ubuntu安装后基本配置】
  8. vue二维码生成可自定义logo
  9. python加速度算位移_基于Labview的加速度两次积分求位移
  10. MLX90614驱动,功能简介以及PEC校验