全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:15617636856

郑州网站建设

当前位置: 首页 > 新闻资讯>>C#之数据流概述

C#之数据流概述

作者:郑州网络公司发布时间:2023-09-14 14:43:28查看次数:来源:网络文章数:

数据流(也称流)是一个 用于传输数据的对象。数据的传输有两个方向,如果是数据从外部源传输到程序中,就称之为读取流;如果是数据从程序传输到外部源,就称之为写入流。

System.IO.Stream类是所有流的抽象基类,Stream类及其派生类提供这些不同类型的输入和输出的一般视图,使程序员不必了解操作系统和基础设备的具体细节。

根据基础数据源或存储库,流可能只支持这些功能中的一部分。用户通过使用CanRead、CanWrite和CanSeek属性,可实现应用程序查询流的功能。

Read和Write方法读写各种不同格式的数据。对于支持查找流,使用Seek和SetLength方法以及Position和Length属性可以查询和修改流的当前位置和长度。

有些流用于实现执行基础数据的本地缓冲以提高性能。对于这样的流,Flush方法可用于清除所有内部缓冲区并确保将所有数据写入基础数据源或存储库。

在Stream上调用Close将刷新所有经过缓冲处理的数据,本质上是为用户调用Flush方法。Close也会释放操作系统资源,如文件句柄、网络连接或用于任何内部缓冲的内存。BuferedStream类提供了将一个经过缓冲的流环绕另一个流的功能,以便提高读写性能。

如果需要不带后备存储区(即位存储桶)的流,应使用Null。

在实现Stream的派生类时,必须提供Read和Write方法的实现。异步方法BeginRead、EndRead、BegginWrite和EndWrite通过同步方法Read和Write实现。同样Read和Write实现也将与异步方法一起工作。ReadByte和WriteByte的默认实现创建一个新的单元素字节数组,然后调用Read和Write的实现。当从Stream派生时,如果有内部字节缓冲区,则强烈建议重写这些方法以访问内部缓冲区,这样性能将得到显著提高。

还必须提供CanRead、CanSeek、CanWrite、Flush、Length、Position、Seek和SetLength的实现。不要重写Close方法,而应将所有流清理逻辑放入Dispose方法中。

C#语音中提供的主要数据流类有NetworkStream(网络流)、BufferedStream(缓冲区流)、MemoryStream(内存流)、FileStream(文件流)、CryptoStream(加密流)等

站内文章:均为188bet博彩体育app下载方式 各部门原创内容如需转载请著名本文网站链接://www.mcissock.com/new/27261.html未经允许转载要受法律责任,如需转载请联系269247937@qq.com


[C#之数据流概述]

本文链接://www.mcissock.com/new/27261.html
tags:郑州网站建设郑州网站制作郑州网站设计郑州建站公司郑州网站优化郑州做网站郑州小程序开发郑州网络公司
网页是否收录:
返回目录 在线咨询

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。

  • 返回顶部
  • 15617636856
  • QQ在线
  • 微信二维码
0
Baidu
map