社区
C#
帖子详情
关于BufferedStream类的问题
woshishe
2012-11-27 11:53:41
资料上说BufferedStream就是给另一流上的读写操作添加一个缓冲区,可以提高性能。可是我不是太理解是怎么样的一个过程,比如我初始化一个FileStream,用这个FileStream初始化一个BufferedStream,来读取文件的内容到一个字节数组,这个读取过程应该是将磁盘的信息读取到内存中吧,缓冲区应该也是在内存里吧,为什么就能提高性能?依我看来,中间加了个缓冲区,不是会降低读取的速度吗?请高手给解释一下...
...全文
77
2
打赏
收藏
关于BufferedStream类的问题
资料上说BufferedStream就是给另一流上的读写操作添加一个缓冲区,可以提高性能。可是我不是太理解是怎么样的一个过程,比如我初始化一个FileStream,用这个FileStream初始化一个BufferedStream,来读取文件的内容到一个字节数组,这个读取过程应该是将磁盘的信息读取到内存中吧,缓冲区应该也是在内存里吧,为什么就能提高性能?依我看来,中间加了个缓冲区,不是会降低读取的速度吗?请高手给解释一下...
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ksq2010
2012-11-27
打赏
举报
回复
这样的话,就会使得当操作系统读取数据的时候,可以保证操作系统可以读取完我们的缓冲的数据,操作系统通过判断缓冲区的数据是否读取完毕,而进行读取读取,这样提高了操作系统的性能。如果不使用缓冲区,会造成操作系统不知道数据是否接收完整,而去拼命读取,就和你口渴了,想去喝水,却不知道水龙头那有没有水,但是如果放置一个杯子,让杯子去接水,当你看到水杯已经装满的时候,你再去喝 是一个道理。
ksq2010
2012-11-27
打赏
举报
回复
由于操作系统的多任务性,有时候我们读取的数据或者通过通信读取的数据不一定可以实时的立即处理,所以要建立缓冲区先暂存下来,等合适的实际再做处理。
C#必须掌握的系统
类
C#必须掌握的系统
类
、集合
类
、Type
类
...
buffer
e
dst
ream:node.js 和浏览器的强大流实现
是 node.js 和浏览器的强大流实现,基于 Node.js 中流 API 的初始版本。 写入
Buffer
e
dSt
ream 的所有数据都会被缓冲,直到事件循环的下一个回合。 这极大地增强了流的可用性,通过在发出数据之前在事件循环的同一轮轻松设置侦听器变得容易。 该实现遵循节点流 API 的第一个版本,由于其简单性而功能强大。 Node 已经转向其他更复杂的流实现,但最初的 API 从来没有出现过
问题
。 唯一的
问题
是节点的实现。 例如,流并不总是等到下一个滴答时才发出数据。 此外,一些流不尊重pause / resume语义。
Buffer
e
dSt
ream 通过提供经过良好测试的高性能实现来解决这些
问题
,该实现保留了原始流 API 并在 node.js 和浏览器中均可使用。 用法 这个
类
的关键特性是在事件循环的当前轮次中写入流的任何内容都会被缓冲,直到下一个。 这允许您在不丢失任何数
关于C#IO
问题
这是一篇关于C#IO文件操作的代码总结,有兴趣的可以看一下
C# 文件处理技术
C# 文件处理技术,包括file,fileinfo等,具体如下 第三章 文件处理技术 2 3-1 System.IO 命名空间 2 3-1-1 System.IO
类
介绍 2 3-1-2 File
类
的常用方法 4 3-1-3 Fileinfo
类
的常用方法 5 3-1 Fileinfo
类
的常用方法 5 1.案例学习:了解FileInfo
类
的一些主要属性 6 2.案例学习:实现文件的复制 6 3.案例学习:获取文件基本信息 8 3-2 文件夹
类
Directory的常用方法 10 1.案例学习:了解Directory
类
的一些主要方法 10 2.案例学习:获取文件的基本信息 11 3-3 File
类
的常用操作的静态方法练习 14 1.案例学习:简易文本编辑器的开发案例 15 3-4 文件流
类
FileStream 17 1.FileStream文件流
类
简介 17 2.FileStream文件流
类
的创建 18 3-4 文件读写例子 20 3-3-1案例学习:文件流FileStream综合案例(一) 20 3-5 文件流FileStream综合案例 30 3-3-2 案例学习:文件流FileStream综合案例(二) 30 3-6 读写二进制文件 33 3-6-1 二进制文件读取器/编写器介绍 33 3-7 写二进制文件案例学习 35 1. 案例学习:写二进制文件案例——图片的存储与复制 35 3-8 读写内存流 39 3-8-1 读写内存流——MemoryStream
类
40 3-8-2 MemoryStream
类
案例学习 41 3-8-3 读写缓存流——
Buffer
e
dSt
ream
类
43 3-9 读写缓存流 ——
Buffer
e
dSt
ream
类
43 3-9-1 读写缓存流 ——
Buffer
e
dSt
ream
类
43 3-9-2
Buffer
e
dSt
ream
类
案例学习 43 1.案例学习:通过缓冲区交换数据 43 3-6本章小结 45
C# 温故而知新:stream篇
1.1 什么是Stream? 1.2 什么是字节序列? 1.3 Stream的构造函数 1.4 Stream的重要属性及方法 1.5 Stream的示例 1.6 Stream异步读写 1.7 Stream 和其子
类
的
类
图 2.1 为什么要介绍 TextReader? 2.2 TextReader的常用属性和方法 2.3 TextReader 示例 2.4 从StreamReader想到多态 2.5 简单介绍下Encoding 编码 2.6 StreamReader 的定义及作用 2.7 StreamReader
类
的常用方法属性 2.8 StreamReader示例 3.1 为何介绍TextWriter? 3.2 TextWriter的构造,常用属性和方法 3.3 IFormatProvider的简单介绍 3.4 如何理解StreamWriter? 3.5 StreamWriter属性 3.6 StreamWriter示例 4.1 如何去理解FileStream? 4.2 FileStream的重要性 4.3 FileStream常用构造函数(重要) 4.4 非托管参数SafeFileHandle简单介绍 4.5 FileStream常用属性介绍 4.6 FileStream常用方法介绍 4.7 FileStream示例1:*文件的新建和拷贝(主要演示文件同步和异步操作) 4.8 FileStream示例2:*实现文件本地分段上传 5.1 简单介绍一下MemoryStream 5.2 MemoryStream和FileStream的区别 5.3 通过部分源码深入了解下MemoryStream 5.4 分析MemorySteam最常见的OutOfMemory异常 5.5 MemoryStream 的构造 5.6 MemoryStream 的属性 5.7 MemoryStream 的方法 5.8 MemoryStream 简单示例 : XmlWriter中使用MemoryStream 5.9 MemoryStream 简单示例 :自定义一个处理图片的HttpHandler 6.1 简单介绍一下
Buffer
e
dSt
ream 6.2 如何理解缓冲区? 6.3
Buffer
e
dSt
ream的优势 6.4 从
Buffer
e
dSt
ream 中学习装饰模式 6.5 如何理解装饰模式 6.6 再次理解下装饰模式在Stream中的作用 6.7
Buffer
e
dSt
ream的构造 6.8
Buffer
e
dSt
ream的属性 6.9
Buffer
e
dSt
ream的方法 6.10 简单示例:利用socket 读取网页并保存在本地 7.1 NetworkStream的作用 7.2 简单介绍下TCP/IP 协议和相关层次 7.3 简单说明下 TCP和UDP的区别 7.4 简单介绍下套接字(Socket)的概念 7.5 简单介绍下TcpClient,TcpListener,IPEndPoint
类
的作用 7.6 使用NetworkStream的注意事项和局限性 7.7 NetworkStream的构造 7.8 NetworkStream的属性 7.9 NetworkStream的方法 7.10 NetwrokStream的简单示例 7.11 创建一个客户端向服务端传输图片的小示例 版权归作者所有,仅供学习参考
C#
111,096
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章