zoukankan      html  css  js  c++  java
  • FileStream和BinaryReader,BinaryWriter,StreamReader,StreamWriter的区别

    FileStream对于在文件系统读取和写入文件非常有用,FileStream缓存输入和输出,以获得更好的性能。FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileSteam类操作的是字节和字节数组,而Stream类操作的是字符数据。FileStream只能处理原始字节(raw byte),处理原始字节的功能使用FileStream类可以用于处理任何数据文件。通过读取字节数据,FileStream对象可以用于读取图形和声音。代价是FileStream类不能将数据直接读入字符串。

    FileStream常用属性和方法。

    Flush():将当前缓冲区的数据写入文件。

    StreamReader

    实现一个TextReader,使其以一种特定的编码从字节流中读取字符。

    StreamWriter

    实现一个TextWriter,使其以一种特定的编码向流中写入字符

    TextReader

    表示可读取连续字符系列的读取器。

    TextWriter

    表示可以编写一个有序字符系列的编写器。该类为抽象类。

    BinaryReader

    用特定的编码将基元数据类型读作二进制值。你可以认为BinaryReader是对StreamReader的扩展,它有着比StreamReader更丰富的编码方式

    BinaryWriter

    以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。同binaryreader一样.

    BinaryWriter类和BinaryReader类用于读取和写入数据,它可以指定以字符串写入读取.

    StreamReader.BaseStream

    返回基础流。

    BinaryReader和FileStream的区别

    BinaryReader可以指定 Encoding,从而实现读取字符串。

    FileStream 可读可写,并且支持异步操作,还能封装非托管IO句柄,只支持文件流。

    BinaryReader只能读,不支持异步操作,但支持所有继承至 Stream 的任何流,比如 NetworkStream,MemoryStream.

  • 相关阅读:
    spring 的简单了解
    leetcode 刷题锻炼算法思维
    REDIS学习笔记
    mark:如何使用FileZilla连接虚拟机上的Fedora
    尝试在virtualbox fedora21 下安装additions和mount share folder
    字符集与Mysql字符集处理(二)
    字符集与Mysql字符集处理(一)
    MYSQL开发性能研究——INSERT,REPLACE,INSERT-UPDATE性能比较
    MYSQL开发性能研究——批量插入的优化措施
    Marven笔记贴
  • 原文地址:https://www.cnblogs.com/flyant/p/4298596.html
Copyright © 2011-2022 走看看