【转】StreamReader/StreamWriter与FileStream的区别

转自:http://blog.csdn.net/sansan52048/article/details/9160995

StreamReader/StreamWriter与FileStream的区别

  • 一个很大的区别就是:StreamReader/StreamWriter操作的是字符数据(char),而FileStream操作的是字节数据(byte),FileStream与StreamXXXX类的默认编码都是UTF8,而一个中文字符占2个字符,所以StreamXXXX类常用于文本的打开与保存,而FileStream则用于数据的传输。
  • FileStream是不能指定编码(因为它看到的只是文件的二进制形式,当然无所谓编码),所以如果有中文的文本的话需要转码。
  • FileStream是一个较底层的类,只能简单地读文件到而缓冲区,而StreamXXXX类封装了一些高级的方法,如ReadLine() (按行读取)
  • FileStream可以指定FileMode、FileAccess、FileShare、FileOptions等各种文件访问控制权限、共享权限等,大大扩展了文件读写的灵活性,而且FileStream还提供了BeginRead/BeginWrite(异步读写)的操作方法,用得好的话可以提高10倍操作速度哦!
posted @ 2016-08-29 20:40  JohnMarnoon  阅读(120)  评论(0编辑  收藏  举报