A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 忘忧草 中级黑马   /  2012-4-23 09:32  /  2159 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通常FileStream fileStream = File.OpenRead(ofdImport.FileName);后面要跟
      StreamReader streamReader = new StreamReader(fileStream);

我想问的是:
FileStream不是有读写方法吗?为什么要新建一个StreamReader来读取FileStream?可不可以用FileStream的Read方法?不能的话FileStream的Read方法具体该怎么用?最好举个例子,谢谢

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
FileStream读写的方法,刚刚小总结了一下,你可以去参考一下,http://blog.sina.com.cn/u/2506227675

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 忘忧草 于 2012-4-23 16:37 编辑
郭耀强 发表于 2012-4-23 14:05 http://blog.sina.com.cn/u/2506227675 ...

这样的话,一般情况下应该可以直接用FileStream读取文件,不用再创建StreamReader了吧?
不过像导入数据库的这种按行读取的文本StreamReader提供了ReadLine()方法,而FileStream没有,所以要用StreamReader,对吧?
回复 使用道具 举报
对啊,每行数据都没有固定的长度,所以也没法每次用FileStream来读取一个固定的长度,所以只好用StreamReader了,还有一个类可以读取File,
例如:读取所有的行用string lines=File.ReadAllLines(string path, Encoding encoding);
然后用foreach迭代取出每行也行

点评

多谢赐教!  发表于 2012-4-24 19:19

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马