博客
关于我
C#开发之——StreamReader(10.8)
阅读量:98 次
发布时间:2019-02-26

本文共 1271 字,大约阅读时间需要 4 分钟。

C# StreamReader类详解
StreamReader类是C#中用于读取流数据的重要工具,本文将详细介绍其使用方法和实例操作。

一、概述

StreamReader类似于FileStream类,可用于从文件或流中读取文本数据。该类继承自TextReader类,支持多种编码方式,能够以不同方式读取文件内容。

二、构造方法

StreamReader类提供多种构造方式,用户可根据需求选择合适的方法创建实例:

1. 基于流创建实例

StreamReader(Stream stream) - 根据指定流创建StreamReader实例。

2. 基于文件路径创建实例

StreamReader(string path) - 根据指定文件路径创建StreamReader实例。

3. 带编码参数创建实例

StreamReader(Stream stream, Encoding encoding) - 根据指定流和编码方式创建StreamReader实例。
StreamReader(string path, Encoding encoding) - 根据指定文件路径和编码方式创建StreamReader实例。
  • 通过上述构造方法即可创建StreamReader实例,随后可通过类成员方法进行文件读取操作。

三、常用属性和方法

StreamReader类提供丰富的属性和方法,主要包括:
属性/方法 作用
CurrentEncoding 获取当前流使用的编码方式
EndOfStream 判断当前流位置是否已达到结尾
Close() 关闭当前流
Peek() 获取下一个字符的整数值
Read() 读取单个字符
Read(char[] buffer, int index, int count) 读取指定长度的字符到缓冲区
ReadLine() 读取一行文本
ReadToEnd() 读取流结尾至当前位置的所有字符

四、实例:读取D盘directoryInfo文件夹下test1.txt文件中的信息

代码示例

class Program{    static void Main(string[] args)    {        string path = @"D:\directoryInfo\test1.txt";        StreamReader streamReader = new StreamReader(path);        while (streamReader.Peek() != -1)        {            string str = streamReader.ReadLine();            Console.WriteLine(str);        }        streamReader.Close();    }}

说明

除了ReadLine方法外,还可以使用Read、ReadToEnd等方法读取文件内容。通过合理组合这些方法,可实现对文件内容的不同读取方式。

转载地址:http://nsik.baihongyu.com/

你可能感兴趣的文章
ThreadLocal线程内部存储类
查看>>
thinkphp 常用SQL执行语句总结
查看>>
Oracle:ORA-00911: 无效字符
查看>>
Text-to-Image with Diffusion models的巅峰之作:深入解读 DALL·E 2
查看>>
TCP基本入门-简单认识一下什么是TCP
查看>>
tableviewcell 中使用autolayout自适应高度
查看>>
Symbolic Aggregate approXimation(SAX,符号聚合近似)介绍-ChatGPT4o作答
查看>>
Orcale表被锁
查看>>
svn访问报错500
查看>>
sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
查看>>
Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>