StreamReader类是用于读取文本文件的类。

构造函数

函数名 说明
StreamReader(Stream stream) stream参数从底层的Stream对象创建StreamReader的实例
StreamWriter(String path)

path参数为要读取的文件的全路径。

若path只是文件名则其默认父路径是:项目文件夹\bin\Debug\

StreamReader ( String path,  bool detectEncodingFromByteOrderMarks ) path参数是要读取文件的全路径,detectEncodingFromByteOrderMarks 参数是是否查找文件开头的字节顺序标记
StreamReader(String path,Encoding encoding)

path参数是要读取文件的全路径,

encoding参数指定使用的编码规范参数

属性:

BaseStream:返回基础流

CurrentEncoding:获取当前StreamReader对象正在使用的当前字符编码

EndOfStream获取一个值,该值表示当前的流位置是否在流的末尾

主要方法

方法名 说明
void Close() 关闭SteamReader
Read() 读取输入字符中的下一个字符
String ReadLine() 从基础字符中读取下一行
int ReadBlock( char[] buffer, int index, int count ) 从当前流中读取最大count的字符并从index开始将该数据写入buffer
string ReadToEnd() 从整个流或流的当前位置读取到流的结尾

简单实例:

实例一:

//StreamReader 简单读取
StreamReader reader = new StreamReader(@"D:\test.txt",Encoding.Default);//初始化读取 设置编码格式,否则中文会乱码
string readStr = reader.ReadLine();//从流中读取一行  reader.ReadToEnd()读取全部
reader.Close();//关闭流

实例二:

//逐行读取文件处理至文件结束StreamReader reader = new StreamReader(filename);string str = String.Empty;while ((str=reader.ReadLine() )!= null){tbx_content.Text = tbx_content.Text+ str + '\n';}

备注一:路径path的写法,路径中的‘\’是转义字符,所以写成字符串的话要变成'\\'。例如:“C:\\Windows\\Work”

而对于多级目录的话会有很多的‘\\’是不方便的,所以C#中可以用  @"C:\Windows\Work"进行多级转义。

备注二:读取中文文件显示乱码的原因是 文件的编码格式与读取流的编码格式不一致导致的。

具体来说,

a.使用File和FileInfo创建文本文件使用的默认编码格式使UTF-8

b.在windows环境下手工创建的文件是ANSI格式。

c.StreamReader不指定编码格式的话,使用Unicode

所以我们对于读取中文文本时要使用StreamReader sr=new StreamReader(filename,Encoding.Default);使编码格式统一。

附表:

                                                            Encoding中常用的编码格式和说明

编码格式 说明
Default 操作系统当前的ANSI代码页的编码
Unicode 使用Little-Endian字节顺序的UTF-16格式的编码
UTF-8 UTF-8编码

C#流读取类StreamReader的基本介绍相关推荐

  1. idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写

    本文是C#初学者简单教程,这是第20篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.介绍 在C#文件操作中,通常使用流来读取和写入文件.流 ...

  2. JAVA I/O流工具类TextFile

    JAVA I/O流工具类TextFile由广州疯狂软件java培训分享: 本文是一个TextFile类,通过这个类我们可以调用其中的方法来简化对文件的读写,这段代码的可用性比较强.这个TextFile ...

  3. C#中读取文件内容本文分步介绍了如何从文本文件

    ------- <a href="http://***" target="blank">Windows Phone 7手机开发</a>. ...

  4. InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。

     InputStreamReader 和 OutputStreamWriter类使用方法简单介绍. 一.InputStreamReader类 InputStreamReader 将字节流转换为字符流. ...

  5. java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类

    目录 1.概念 2.常用的文件操作 2.1 创建文件 2.2 获取文件相关信息 2.3 目录的操作和文件删除 3. IO流原理及流的分类 3.1 流的分类 4.InputStream 字节输入流 4. ...

  6. 09、IO流—File类与IO流

    文章目录 一.File类 基本认识 实用方法 获取功能 重命名功能(包含剪切) 判断功能 创建.删除文件 实际小案例 二.IO流 1.认识IO流 2.IO流基类介绍 字节流基类介绍 字符流基类介绍 三 ...

  7. C# 中常用的文件流(FileStream、StreamReader/Writer、MemoryStream)

    文章目录 一:FileStream类 二:StreamReader/StreamWriter类 三:TextReader/TextWriter类 四:MemoryStream类 五:NetWorkSt ...

  8. POI-Excel表格使用流读取和写入

    今天学习了Excel数据的写入和读取,这里做下记录 参考网址 POI – Excel参考文档 POI介绍 POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apach ...

  9. java 文件流读取文本_如何在Java 8中处理流和读取文本文件

    java 文件流读取文本 我已经使用最新的Java8转换了一个旧的实用程序类. 我经常使用它来打印清单文件的内容,以检查任何神秘的jar文件的版本等.只需运行" java ztools.Pr ...

最新文章

  1. APUE学习笔记-11.5线程终止
  2. [转]linux 下自动登录到ftp
  3. Mysql 中获取刚插入的自增长id的值
  4. Boost:can_prefer的使用测试程序
  5. jsp+easyui+DataGrid 例子
  6. Leedcode1-求树的最小高度
  7. 这就是我经常的C++状态,多练
  8. ZigBee网络数据传递流程_Zigbee网络架构解析
  9. 优雅的实现Activiti动态调整流程(自由跳转、前进、后退、分裂、前加签、后加签等),含范例代码!...
  10. 数码相片冲印尺寸对照表
  11. houseprice_analysis_广州房子租售比分析(上)
  12. python爬取酷狗音乐_python使用beautifulsoup4爬取酷狗音乐代码实例
  13. Disastrous Downtime
  14. repo init报错error.GitError: manifests rev-list (u'^2736dfd46e8a30cf59a9cd6e93d9e56e87021f2a', 'HEAD',
  15. 第七章:CSS3基础---变形旋转 2d/3d、c3边框图片、变形缩放 2d/3d、变形倾斜2d、动画属性
  16. 小播本地音乐功能指引
  17. 怎样使用MindMapper中的聚焦功能
  18. SAP中国区总裁萧洁云:我加盟SAP的三个原因
  19. python做乘法运算定律_四年级乘法运算定律-
  20. “还完花呗,再也不用吃土!”是真的吗?

热门文章

  1. 网页设计中黑体和宋体的使用
  2. 【路径规划】Matlab 遗传算法求解多式联运问题(带时间窗、配送成本,中转成本总成本最低)
  3. 2020山东春季高考计算机专业,2020山东春季高考科目时间及总分
  4. 【《OpenCV3编程入门》内容简介勘误配套源代码下载
  5. 如何增肥,变成肌肉男【转】
  6. Linux学习笔记——文件的查找与检索
  7. 网页计数器_更好的网页阅读时间计数器,第1部分
  8. 腾讯AI Lab全年成绩单:让AI能救命也能种地
  9. ITerm2安装美化
  10. stable-diffusion 安装和使用