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.
FileStream和BinaryReader,BinaryWriter,StreamReader,StreamWriter的区别的更多相关文章
- C# 文件流FileStream 实现多媒体文件复制 StreamReader StreamWriter 读取写入文本
#region 实现多媒体文件的复制 string source = @"F:\123\source.avi";//源文件路径 string target = @"F:\ ...
- File FileStream StreamReader StreamWriter C#
存在各种各样的IO设备,比如说文件File类(字符串文件和二进制文件),可以直接使用File类对文件进行读写操作. 这些各种IO的读取和写入是通过流的形式实现的,基类为Stream,针对各种不同的IO ...
- 20151024_003_C#基础知识(File / FileStream / StreamReader/StreamWriter)
1:绝对路径和相对路径 绝对路径:通过给定的路径直接能在我的电脑中找到这个文件. 相对路径:文件相对于应用程序的路径. 2:编码格式 乱码:产生乱码的原因,就是你保存这个文件所采用的编码,跟你打开这个 ...
- 文件读写(二)利用SteamReader和StreamWrite类处理字符串、FileSystemWatcher、BinaryReader/BinaryWriter
一.读写类: TextReader/TextWriter:文本读写,抽象类 TextReader,其派生类: StreamReader:以一种特定的编码从字节流中读取字符. StringReader: ...
- C#流总结(文件流、内存流、网络流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)
一.文件流 FileStream类主要用于读写磁盘文件.常用于向磁盘存储数据或读取配置文件. 读取文件: //文件流:读取 FileStream fileStream = File.Open(@&qu ...
- StreamReader & StreamWriter
这节讲StreamReader & StreamWriter,这两个类用于操作字符或者字符串,它将流的操作封装在了底层,相对来说用法比较简单,但是它不支持Seek()方法. 先看一下代码: F ...
- C# FileStream MemoryStream BufferedStream StreamReader StreamWriter
FileStream读取文件 , array.Length);//读取流中数据把它写到字节数组中file.Close();//关闭流string str =Encoding.Default.GetSt ...
- C# StreamReader/StreamWriter与FileStream用法详解
http://www.360doc.com/content/13/0610/08/12579422_291878973.shtml
- 12-21C#电脑蓝屏效果(可以恶搞整人哦)、输入输出流(StreamReader/streamWriter)
一.winform电脑蓝屏效果 第一种方法:基本操作: 第一步:创建一个新的C#窗体“Form1”: 第二步:在设计窗口中,更改其属性: 1)text属性:将form1的text属性中的文字取消掉,然 ...
随机推荐
- Centos5.11 //IP/phpmyadmin 远程无法登入
异地登入phpmyadmin时,会出现"You don't have permission to access /phpmyadmin/ on this server."这是因为配 ...
- 通过grub硬盘安装centos7
centos7与centos6.x有了很大的不同,从硬盘安装的方法也有了很大的不同,故出此文章我机器环境如下: 有俩系统 Win7 和 RHEL6.4 ,是通过grub(非grub2)引导的,g ...
- http://vdceye.com/ 全新页面上线
vdceye manager home page
- Deepin-快捷方式设置
Linux无非就是命令命令命令,而不是点点点,下面介绍快捷方式 然后点击 最后找到快捷方式(鼠标滚轮下滑) 快捷方式自个看着修改
- cocos2d-x 2.0下怎样让BOX2D DEBUG DRAW的方法笔记
原文链接: 这两天玩 cocos2d-x 和 box2d,发现 cocos2d-x 2.0 版本号要使用老方法 debug 渲染会出错.于是找到了新方法来 debug draw: 首先在你的头文件中添 ...
- FFMpeg2.4.2 on Ubuntu14.04
FFmpeg 2.4 "Fresnel" – is the leading multimedia framework, cross-platform solution tha ...
- 跟面试官讲Binder(零)
面试的时候,面试官问你说,简单说一下Android的Binder机制,你会怎么回答? 我想,我会这么说. 在Android启动的时候,Zygote进程孵化出第一个子进程叫SystemServer,而在 ...
- ASP.NET MVC 提供与访问 Web Api
ASP.NET MVC 提供与访问 Web Api 一.提供一个 Web Api 新建一个项目,类型就选 "Web Api".我用的是MVC5,结果生成的项目一大堆东西,还编译不过 ...
- SSH常见错误
错误一: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml] ...
- java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例
package org.rui.io.xml; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import ...