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.

FileStream和BinaryReader,BinaryWriter,StreamReader,StreamWriter的区别的更多相关文章

  1. C# 文件流FileStream 实现多媒体文件复制 StreamReader StreamWriter 读取写入文本

    #region 实现多媒体文件的复制 string source = @"F:\123\source.avi";//源文件路径 string target = @"F:\ ...

  2. File FileStream StreamReader StreamWriter C#

    存在各种各样的IO设备,比如说文件File类(字符串文件和二进制文件),可以直接使用File类对文件进行读写操作. 这些各种IO的读取和写入是通过流的形式实现的,基类为Stream,针对各种不同的IO ...

  3. 20151024_003_C#基础知识(File / FileStream / StreamReader/StreamWriter)

    1:绝对路径和相对路径 绝对路径:通过给定的路径直接能在我的电脑中找到这个文件. 相对路径:文件相对于应用程序的路径. 2:编码格式 乱码:产生乱码的原因,就是你保存这个文件所采用的编码,跟你打开这个 ...

  4. 文件读写(二)利用SteamReader和StreamWrite类处理字符串、FileSystemWatcher、BinaryReader/BinaryWriter

    一.读写类: TextReader/TextWriter:文本读写,抽象类 TextReader,其派生类: StreamReader:以一种特定的编码从字节流中读取字符. StringReader: ...

  5. C#流总结(文件流、内存流、网络流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)

    一.文件流 FileStream类主要用于读写磁盘文件.常用于向磁盘存储数据或读取配置文件. 读取文件: //文件流:读取 FileStream fileStream = File.Open(@&qu ...

  6. StreamReader & StreamWriter

    这节讲StreamReader & StreamWriter,这两个类用于操作字符或者字符串,它将流的操作封装在了底层,相对来说用法比较简单,但是它不支持Seek()方法. 先看一下代码: F ...

  7. C# FileStream MemoryStream BufferedStream StreamReader StreamWriter

    FileStream读取文件 , array.Length);//读取流中数据把它写到字节数组中file.Close();//关闭流string str =Encoding.Default.GetSt ...

  8. C# StreamReader/StreamWriter与FileStream用法详解

    http://www.360doc.com/content/13/0610/08/12579422_291878973.shtml

  9. 12-21C#电脑蓝屏效果(可以恶搞整人哦)、输入输出流(StreamReader/streamWriter)

    一.winform电脑蓝屏效果 第一种方法:基本操作: 第一步:创建一个新的C#窗体“Form1”: 第二步:在设计窗口中,更改其属性: 1)text属性:将form1的text属性中的文字取消掉,然 ...

随机推荐

  1. SQL 主机

    SQL 主机 SQL 主机 如果您想要您的网站存储数据在数据库并从数据库显示数据,您的 Web 服务器必须能使用 SQL 语言访问数据库系统. 如果您的 Web 服务器托管在互联网服务提供商(ISP, ...

  2. oracle随机数

    1.从表中随机取记录 select * from (select * from staff order by dbms_random.random) where rownum < 4 表示从ST ...

  3. oracle--Windows不能在本地计算机启动OracleDBConsoleorcl .错误代码1

    安装完数据库后能够启动,重新启动电脑后,手动启动就会报错. 现象: Windows 不能在 本地计算机 启动 OracleDBConsoleorcl.有关很多其它信息.查阅系统事件日志.假设这是非 M ...

  4. 【php】在Windows2003下的IIS配置php5.4

    本文与<[php]在Windows2003下配置Apache2.4与php5.4>(点击打开链接)为姊妹篇,仅仅是php所用的server有点不同,这里一个是Apache2.4,一个是Wi ...

  5. getifaddrs

    getifaddrs 获取本地网络接口的信息.在路由器上可以用这个接口来获取wan/lan等接口当前的ip地址,广播地址等信息. #include <sys/types.h> #inclu ...

  6. iPhone开发关于UDID和UUID的一些理解【转】

    原文地址:http://blog.csdn.net/xunyn/article/details/13629071 一.UDID(Unique Device Identifier) UDID是Uniqu ...

  7. oracle 12c的数据库导进 11g

    从oracle 12c 备份(expdp)出来的包,还原到11g里,想想都知道会有兼容性问题. 果不其然,报错了: ORA-39142: 版本号 4.1 (在转储文件 "叉叉叉.expdp& ...

  8. PS人物脸部去高光简单之法

    案例素材图: 方法原理步骤:得到高光面的选区,然后吸取高光面附近的颜色填充上去,这样就达到了去高光的效果. 得到高光选区的方法有很多种,要提取这种选区,通过阿尔法通道是最合适不过的了,本案例就通过阿尔 ...

  9. (14)javaWeb中的HttpServletResponse类详解

    如果希望了解请求和响应的详细内容,可以看我的“HTTP协议”系列文章 响应体的简单概述: a,响应报文结构: b,常见的状态码,返回服务器处理的结果: c,常见的响应头: HttpServletRes ...

  10. Hadoop Hive概念学习系列之hive里的索引(十三)

    Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键. Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要 ...