C#流读取类StreamReader的基本介绍
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的基本介绍相关推荐
- idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写
本文是C#初学者简单教程,这是第20篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.介绍 在C#文件操作中,通常使用流来读取和写入文件.流 ...
- JAVA I/O流工具类TextFile
JAVA I/O流工具类TextFile由广州疯狂软件java培训分享: 本文是一个TextFile类,通过这个类我们可以调用其中的方法来简化对文件的读写,这段代码的可用性比较强.这个TextFile ...
- C#中读取文件内容本文分步介绍了如何从文本文件
------- <a href="http://***" target="blank">Windows Phone 7手机开发</a>. ...
- InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。
InputStreamReader 和 OutputStreamWriter类使用方法简单介绍. 一.InputStreamReader类 InputStreamReader 将字节流转换为字符流. ...
- java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类
目录 1.概念 2.常用的文件操作 2.1 创建文件 2.2 获取文件相关信息 2.3 目录的操作和文件删除 3. IO流原理及流的分类 3.1 流的分类 4.InputStream 字节输入流 4. ...
- 09、IO流—File类与IO流
文章目录 一.File类 基本认识 实用方法 获取功能 重命名功能(包含剪切) 判断功能 创建.删除文件 实际小案例 二.IO流 1.认识IO流 2.IO流基类介绍 字节流基类介绍 字符流基类介绍 三 ...
- C# 中常用的文件流(FileStream、StreamReader/Writer、MemoryStream)
文章目录 一:FileStream类 二:StreamReader/StreamWriter类 三:TextReader/TextWriter类 四:MemoryStream类 五:NetWorkSt ...
- POI-Excel表格使用流读取和写入
今天学习了Excel数据的写入和读取,这里做下记录 参考网址 POI – Excel参考文档 POI介绍 POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apach ...
- java 文件流读取文本_如何在Java 8中处理流和读取文本文件
java 文件流读取文本 我已经使用最新的Java8转换了一个旧的实用程序类. 我经常使用它来打印清单文件的内容,以检查任何神秘的jar文件的版本等.只需运行" java ztools.Pr ...
最新文章
- APUE学习笔记-11.5线程终止
- [转]linux 下自动登录到ftp
- Mysql 中获取刚插入的自增长id的值
- Boost:can_prefer的使用测试程序
- jsp+easyui+DataGrid 例子
- Leedcode1-求树的最小高度
- 这就是我经常的C++状态,多练
- ZigBee网络数据传递流程_Zigbee网络架构解析
- 优雅的实现Activiti动态调整流程(自由跳转、前进、后退、分裂、前加签、后加签等),含范例代码!...
- 数码相片冲印尺寸对照表
- houseprice_analysis_广州房子租售比分析(上)
- python爬取酷狗音乐_python使用beautifulsoup4爬取酷狗音乐代码实例
- Disastrous Downtime
- repo init报错error.GitError: manifests rev-list (u'^2736dfd46e8a30cf59a9cd6e93d9e56e87021f2a', 'HEAD',
- 第七章:CSS3基础---变形旋转 2d/3d、c3边框图片、变形缩放 2d/3d、变形倾斜2d、动画属性
- 小播本地音乐功能指引
- 怎样使用MindMapper中的聚焦功能
- SAP中国区总裁萧洁云:我加盟SAP的三个原因
- python做乘法运算定律_四年级乘法运算定律-
- “还完花呗,再也不用吃土!”是真的吗?