本章介绍:StreamReader/StreamWriter类;

命名空间:using System.IO

1、StreamReader/StreamWriter类:用来处理流数据,提供了高效的流读写功能。可以直接用字符串进行读写,而不用转换成字节数组。

2、特性

FileStream是操作字节的,因此可以操作包括文本以外的其它各种文件;

StreamReader和StreamWriter是操作字符的,因此只能操作文本文件;

StreamReader和StreamWriter是专门用来操作文件的,如果只针对文件的话,用StreamReader和StreamWriter要比FileStream方便的多。

3、 FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。

这是这两种类的一个重要区别,如果你是准备读取byte数据的话,用StreamReader读取然后用 System.Text.Encoding.Default.GetBytes转化的话,,则可能出现数据丢失的情况,如byte数据的个数不对等。因此操作byte数据时要用FileStream。

string textContent = fileStream.ReadToEnd();
byte[] bytes = System.Text.Encoding.Default.GetBytes(textContent);

4、public bool EndOfStream { get; } 获取一个值,该值表示当前的流位置是否在流的末尾。

5、//读取数据

FileStream fs = new FileStream(@"demo.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs);
string line = sr.ReadLine();//直接读取一行
sr.Close();
sr.Dispose();
fs.Close();
Console.WriteLine(line);//循环读取文件
static void Main(string[] args)
{string path = @"demo.txt";using (StreamReader sr = new StreamReader(path, Encoding.Default))//使用using 自动释放资源{while (!sr.EndOfStream)//判断是否读完文件{Console.WriteLine(sr.ReadLine());}}Console.ReadKey();
}

6、//写入数据

FileStream fs = new FileStream(@"demo.txt", FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("hello world");
sw.Close();
sw.Dispose();
fs.Close();//这里要注意fs一定要在sw后面关闭,否则会抛异常//或者
static void Main(string[] args)
{//用StreamWriter写入一个文本文件string path = @"demo.txt";using (StreamWriter sw = new StreamWriter(path,false, Encoding.Default)){sw.WriteLine("hello world");}
}

C# StreamReader/StreamWriter类相关推荐

  1. C# 第七章『I/O数据流』◆第5节:数据流—StreamWriter类、StreamReader类

    FileStream类的对象只能以字节的形式读取/写入数据,这就使操作变得非常困难,所以需要借用StreamWriter对象或StreamReader对象的方法来处理文件. 一.StreamWrite ...

  2. C#使用StreamReader类和StreamWriter类读写文本文件

    StreamReader类和StreamWriter类可以实现读写文本文件,这两个类都在命名空间System.IO下. using System; using System.Collections.G ...

  3. c# 文件IO操作 StreamReader StreamWriter Split 使用

    StreamWriter(String,Boolean) 若要追加数据到该文件中,则为 true:若要覆盖该文件,则为 false. 如果指定的文件不存在,该参数无效,且构造函数将创建一个新文件. 例 ...

  4. C#中的StreamReader/StreamWriter

    在读写文件的过程中,Filestream只可以进行以字节为单位原始数据流进行读写操作,为此,C#中提供了功能更加强大的StreamReader/ StreamWriter来支持文件的读写. Strea ...

  5. C#使用StreamWriter类写入文件文件

    除了使用FileStream类读写文本文件,.net还提供了StreamWriter类和StreamReader类专门处理文本文件.这两个类从底层封装了文件流,读写时不用重新编码,提供了更文件的读写方 ...

  6. C#中FileStream与StreamReader/StreamWriter区别

    区别 FileStream类不是静态类,表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或 StreamWriter执行这些功能.这是因为Fi ...

  7. C#的StreamWriter类使用说明

    C#的StreamWriter类使用说明 一:StreamWriter类简单说明 二:StreamWriter类的构造函数 三:StreamWriter类的字段 四:StreamWriter类的属性 ...

  8. C# StreamReader/StreamWriter与FileStream用法详解

    一.<1>StreamReader类共有10个构造函数 StreamReader (Stream)    //  为指定的流初始化 StreamReader 类的新实例. FileStre ...

  9. 指定得文件初始化StreamWriter类得新实例

    Initializes a new instance of the System.IO.StreamWriter class for the specified // stream by using ...

最新文章

  1. Spring对Hibernate事务管理
  2. Java JDBC
  3. Ubuntu 10.04编译安装CodeBlocks 10.5
  4. dlib+vs2013+opencv实现人脸特征点检测
  5. Python脚本做接口测试,抛弃接口测试工具是否可行?(一)
  6. Vue学习笔记(九) Vue CLI
  7. 搭载麒麟990 5G SoC 华为MatePad Pro 5G全球首发
  8. 把执行结果转成json对象报错_给Hangfire的webjob增加callback和动态判断返回结果功能设计...
  9. mysql存储业务日志_MySQL 日志管理
  10. 目标检测——手把手带你实现SSD(Single Shot MultiBox Detector)训练和检测自己的数据集
  11. 计算机保研个人简介,保研个人简历模板
  12. 【机器学习】基于生成对抗网络的黑白图片上色
  13. 制作自己的微信小程序要怎么做?
  14. int、time和timestamp区别
  15. 苏州企业研发费用精准统计难点分析
  16. C 语言中负数移位运算讲解
  17. [转]linux shell 正则表达式(BREs,EREs,PREs)差异比较
  18. 如何去掉“Picked up JAVA_TOOL_OPTIONS: -Djava.vendor=“Sun Microsystems Inc.“” 提示
  19. 分销商城小程序系统怎么选择?
  20. ZOJ 3964 Yet Another Game of Stones (博弈)

热门文章

  1. 勤于奋:国外LEAD的来历,初学者CPA联盟营销
  2. 开一家300平方米的亲子乐园需要多少钱?看完你就懂了!
  3. python贪心算法最短路径_贪心算法之最短路径
  4. 蓝牙btsnoop log,HFP协议连接流程详解,以及RFCOMM连接和常用AT指令
  5. 一份来自太空的新年礼物——“元旦京港澳天宫对话”活动侧记
  6. Five features in Bilibili APP
  7. Vue项目中添加锁屏功能
  8. 天猫上不靠谱的商品价格
  9. 【视频课】12小时不一样的高质量Python基础课,推荐给你学习!
  10. linux修改文件句柄数生效_Linux 修改最大文件句柄数