C# StreamReader类实现读取文件的方法
作者:c语言中文网 发布时间:2023-06-20 13:02:00
标签:C#,StreamReader,读取文件
在 C# 语言中 StreamReader 类用于从流中读取字符串。它继承自 TextReader 类。
StreamReader 类的构造方法有很多,这里介绍一些常用的构造方法,如下表所示。
构造方法 | 说明 |
---|---|
StreamReader(Stream stream) | 为指定的流创建 StreamReader 类的实例 |
StreamReader(string path) | 为指定路径的文件创建 StreamReader 类的实例 |
StreamReader(Stream stream, Encoding encoding) | 用指定的字符编码为指定的流初始化 StreamReader 类的一个新实例 |
StreamReader(string path, Encoding encoding) | 用指定的字符编码为指定的文件名初始化 StreamReader 类的一个新实例 |
使用该表中的构造方法即可创建 StreamReader 类的实例,通过实例调用其提供的类成 员能进行文件的读取操作。
StreamReader 类中的常用属性和方法如下表所示。
属性或方法 | 作用 |
---|---|
Encoding CurrentEncoding | 只读属性,获取当前流中使用的编码方式 |
bool EndOfStream | 只读属性,获取当前的流位置是否在流结尾 |
void Close() | 关闭流 |
int Peek() | 获取流中的下一个字符的整数,如果没有获取到字符, 则返回 -1 |
int Read() | 获取流中的下一个字符的整数 |
int Read(char[] buffer, int index, int count) | 从指定的索引位置开始将来自当前流的指定的最多字符读到缓冲区 |
string ReadLine() | 从当前流中读取一行字符并将数据作为字符串返回 |
string ReadToEnd() | 读取来自流的当前位置到结尾的所有字符 |
下面通过实例来演示 StreamReader 类的应用。
【实例】读取 D 盘 code 文件夹下 test.txt 文件中的信息。
根据题目要求,先在 D 盘下创建文件夹并创建 test.txt 文件,然后写入两行字符,分别是 Hello 和 Lucy,代码如下。
class Program
{
static void Main(string[] args)
{
//定义文件路径
string path = @"D:\\code\\test.txt";
//创建 StreamReader 类的实例
StreamReader streamReader = new StreamReader(path);
//判断文件中是否有字符
while (streamReader.Peek() != -1)
{
//读取文件中的一行字符
string str = streamReader.ReadLine();
Console.WriteLine(str);
}
streamReader.Close();
}
}
执行上面的代码,效果如下图所示。
在读取文件中的信息时,除了可以使用 ReadLine 方法以外,还可以使用Read、ReadToEnd方法来读取。
来源:http://c.biancheng.net/view/2925.html
0
投稿
猜你喜欢
- 之前给大家在博文中讲过如何通过eclipse快速搭建SSM开发环境,但相对而言还是有些麻烦的,今天玄武老师给大家介绍下如何使用Intelli
- Mybatis防止sql注入原理SQL 注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL 语句 * 入到执行的实体字段中(例如,为
- 1 问题手写一个程序,完成List集合对象的逆序遍历2 方法创建List接口的多态对象向创建好list集合添加元素使用hasPrevious
- 一、DMI动态方法调用的其中一种改变form表单中action属性的方式已经讲过了。还有两种,一种是改变struts.xml配置文件中act
- 本文实例讲述了C#实现AddRange为数组添加多个元素的方法。分享给大家供大家参考。具体实现方法如下:ArrayList ab = new
- 本文实例讲述了C#计算字符串哈希值(MD5、SHA)的方法。分享给大家供大家参考。具体如下:一、关于本文本文中是一个类库,包括下面几个函数:
- 这是主要使用到的jar 文件是:spring mvc +apache common-fileuplad第一步:web.xml 文件。【重点是
- Java8已经发布很多年了,但是很多人在开发时仍然坚持使用着Date和SimpleDateFormat进行时间操作。SimpleDateFo
- 前言springmvc中有两种很普遍的AOP实现:1.过滤器(Filter)2. * (Interceptor)本篇面对的是一些刚接触spr
- 去年买了本数字图像处理算法,一直都没有看,前几个星期都一直忙着工作上的活,趁这阶段悠闲点,玩一玩图片处理,这玩意还是非常有意思的。以前我们在
- 因为mybatis好使,所以几乎需要操作数据库的时候,我都会使用mybatis,而且在一个正式的项目中,同时存在BS和CS的程序,都使用的M
- 本文实例为大家分享了C#实现简化QQ聊天窗口的具体代码,供大家参考,具体内容如下如图样式,详细步骤如下整个窗体设置private void
- 下文笔者讲述maven引入本地jar包时,运行报错"java.lang.NoClassDefFoundError"的处理
- 最近在开发项目的时候遇到一个问题,在myecilpes上使用googlede gson读取项目中的json文件成功,然后把项目发布到tomc
- 今天在做项目的时候突然遇到一个问题:启动服务器的时候spring没报错,可是当我访问某个页面的时候spring报Request bean i
- 1.什么时候用String?什么时候用StringBuilder?字符串一旦创建就不可修改大小,每次使用System.String类中的方法
- 类注解@component 标注类,泛指各种组件,类不属于各种分类的时候,用它做标注。@Service 标注类,声明该类为业务层组件,用于处
- 本文实例分析了C#中结构(struct)的部分初始化和完全初始化,分享给大家供大家参考。具体分析如下:假设有这样一个值类型struct,如下
- 之前写了一篇文章:Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码),介绍了如何使用Java原生IO支持进行网络编程,本文
- 现阶段的问题现在是云原生和容器化时代,.NET Core对于云原生来说有非常好的兼容和亲和性,dotnet社区以及微软为.NET Core提