前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >StreamReader & StreamWriter

StreamReader & StreamWriter

作者头像
宿春磊Charles
发布2022-03-29 09:38:47
1980
发布2022-03-29 09:38:47
举报
文章被收录于专栏:DotNet 致知DotNet 致知

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

先看一下代码:

代码语言:javascript
复制
FileStream fs = new FileStream("./demo.txt", FileMode.Open, FileAccess.ReadWrite);
StreamReader sr = new StreamReader(fs, true);

StreamWriter sw = new StreamWriter("./demo_copy.txt");

string data = string.Empty;
while ((data = sr.ReadLine()) != null)
{
    Console.WriteLine(data);
    sw.WriteLine(data);
}

fs.Dispose();
sw.Dispose();
sr.Dispose();

我们可以从构造函数中传入FileStream对象进行StreamReader/Writer对象的创建,也可以直接传入路径,它会在内部创建流对象。

使用FileStream对象创建时,第二个参数是一个bool值,这个值指定是追加文件还是创建新文件:如果这个值为false,则创建新文件,或者截取现有文件并打开它;如果为true,则打开文件,保留原来的数据,若找不到文件,则创建一个新文件。

StreamReader类对象,有一个Read()方法,用法和FileStream类对象类似,它另有一个ReadLine()方法,该方法以string形式,返回一行数据,并将指针指向下一行,直到最后返回为空。StreamWriter类对象也是一样的用法。

本节到此结束(昨天少发了一节,今天补上,IO系类结束)...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet 致知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档