StreamReader和StreamWrite与FileStream区别
2015-06-09 10:26
337 查看
具体用法不在赘述。
记录一下用法的区别
StreamReader:
StreamWrite:
FileSteam:
FileStream与StreamXXXX又有Read、write方法但他们的区别在哪呢?
最大的区别在于:StreamReader/StreamWriter操作的是字符数据(char),而FileStream操作的是字节数据(byte),FileStream与StreamXXXX类的默认编码都是UTF8,而一个中文字符占2个字符,所以StreamXXXX类常用于文本的打开与保存,而FileStream则用于数据的传输。
FileStream是不能指定编码(因为它看到的只是文件的二进制形式,当然无所谓编码),所以如果有中文的文本的话需要转码。
FileStream是一个较底层的类,只能简单地读文件到缓冲区,而StreamXXXX类封装了一些高级的方法,如ReadLine() (按行读取)
FileStream可以指定FileMode、FileAccess、FileShare、FileOptions等各种文件访问控制权限、共享权限等,大大扩展了文件读写的灵活性,而且FileStreamFileStream还提供了BeginRead/BeginWrite(异步读写)的操作方法
记录一下用法的区别
StreamReader:
FileStream fs = new FileStream(@"D:\Readme.txt",FileMode.Open); StreamReader sr = new StreamReader(fs);
StreamWrite:
FileStream fs = new FileStream(@"D:\a.txt",FileMode.CreateNew); StreamWriter sw = new StreamWriter(fs,Encoding.UTF8);
FileSteam:
FileStream fs1=new FileSteam(path,Filemode.Open,Fileaccess.Read); fs.read(...) FileStream fs2=new FileSteam(path,Filemode.Open,Fileaccess.Write); fs.write(...)
FileStream与StreamXXXX又有Read、write方法但他们的区别在哪呢?
最大的区别在于:StreamReader/StreamWriter操作的是字符数据(char),而FileStream操作的是字节数据(byte),FileStream与StreamXXXX类的默认编码都是UTF8,而一个中文字符占2个字符,所以StreamXXXX类常用于文本的打开与保存,而FileStream则用于数据的传输。
FileStream是不能指定编码(因为它看到的只是文件的二进制形式,当然无所谓编码),所以如果有中文的文本的话需要转码。
FileStream是一个较底层的类,只能简单地读文件到缓冲区,而StreamXXXX类封装了一些高级的方法,如ReadLine() (按行读取)
FileStream可以指定FileMode、FileAccess、FileShare、FileOptions等各种文件访问控制权限、共享权限等,大大扩展了文件读写的灵活性,而且FileStreamFileStream还提供了BeginRead/BeginWrite(异步读写)的操作方法
相关文章推荐
- jQuery 遍历 - each() 方法
- [史上最全]C#(VB.NET)中位运算符工作过程剖析(译)
- PNG文件格式详解
- 一张帖搞定同学们入学黑马前所有难题
- mybatis 联合查询
- postgre命令行操作
- leetcode String to Integer (atoi)
- Tomcat6 配置多虚拟主机,多域名绑定一IP
- 第六章:如何对druid.io做成平台化
- 进制转换2
- 文件加密之后下载时间变长
- android 自定义view 圆形进度条
- ios开发所需图片尺寸汇总
- iOS定位--CoreLocation
- 进制转换2 分类: 栈和队列 2015-06-09 10:25 14人阅读 评论(0) 收藏
- JavaScript中reduce()方法的使用详解
- Linux-管理文件权限和所有权
- Python扫描IP段查看指定端口是否开放的方法
- rails常用命令
- JS中的Prototype