zoukankan      html  css  js  c++  java
  • 各种Stream 的区别

    Stream

    System.IO为我们提供了一个抽象类Stream,Stream类支持对字节的读写操作。在Stream类中包括了对异步操作的支持。

    既然Stream是抽象类,所有其它流的类就都必须从Steam类中继承。Stream类及其子类共同构成了一个数据源和数据存储的视图,从而封装了操作系统和底层存储的各个细节,使程序员把注意力集中到程序的应用逻辑上来。

    流包含以下基本操作:

    读操作(Reading)。即读出流中的数据,把数据存放在另一种数据结构中,比如数组。

    写操作(Writting)。即从另一种数据结构中读出数据,存放至流对象中。

    搜索操作(Seeking)。即从流中的当前位置开始搜索,定位到指定的位置。

    由于数据视图的不同,一些流可能不同时支持以上的所有操作。比如网络流就不支持搜索操作。Stream类提供了CanRead,CanWrite和CanSeek三种属性,来表示流是否支持这些操作。

    BinaryReader和BinaryWriter

    BinaryReader和BinaryWriter这两个类提供了从字符串或原始数据到各种流之间的读写操作。

    Stream

    File类的静态方法主要是用于创建FileStream类。一个FileStream类的实例实际上代表一个磁盘文件,它通过Seek()方法进行对文件的随机访问,也同时包含了流的标准输入、标准输出、标准错误等。FileStream默认对文件的打开方式是同步的,但它同样很好地支持异步操作。

    TextReader和TextWriter

    TextReader和TextWriter类都是抽象类。和Stream类的字节形式的输入和输出不同,它们用于Unicode字符的输入和输出

    StringReader和StringWriter

    StringReader和StringWriter在字符串中读写字符。

    StreamReader和StreamWriter

    StreamReader和StreamWriter在流中读写字符。

    BufferedStream

    BufferedStream是为诸如网络 流的其它流添加缓冲的一种流类型。其实,FileStream流自身内部含有缓冲,而MemorySteam流则不需要缓冲。一个BufferStream 类的实例可以由多个其它类型的流复合而成,以达到提高性能的目的。缓冲实际上是内存中的一个字节块,利用缓冲可以避免操作系统频繁地到磁盘上读取数据,从而减轻了操作系统的负担。

    MemoryStream

    MemoryStream是一个无缓冲流,它所封装的数据直接放在内存中,因此可以用于快速临时存储、进程间传递信息等。

    NetworkSteam

    Networksteam表示在互联网络上传递的流。

    当使用名字空间System.IO中提供的类时,对存储数据的访问权限必须符合操作系统的安全性要求。

    注意:不要使用这些类来编写应用程序对网络文件进行的操作。因为Internet默认的安全政策是不允许对文件直接访问。可以使用IsolatedStroage类来处理网络文件

    BufferedStream 与MemoryStream 的区别

    两个都是缓冲区,BufferedStream并不是将所有内容都存放到内存中,而MemoryStream则是。BufferedStream必须跟其
    他流如FileStream结合使用,而MemoryStream则不用,虽然可以把MemoryStream转换为其他流。

  • 相关阅读:
    如何:为 Silverlight 客户端生成双工服务
    Microsoft Sync Framework 2.1 软件开发包 (SDK)
    Windows 下的安装phpMoAdmin
    asp.net安全检测工具 Padding Oracle 检测
    HTTP Basic Authentication for RESTFul Service
    Windows系统性能分析
    Windows Server AppFabric Management Pack for Operations Manager 2007
    Mongo Database 性能优化
    服务器未能识别 HTTP 标头 SOAPAction 的值
    TCP WAIT状态及其对繁忙的服务器的影响
  • 原文地址:https://www.cnblogs.com/Dream-High/p/3401453.html
Copyright © 2011-2022 走看看