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.

原文地址:https://www.cnblogs.com/flyant/p/4298596.html