博客
关于我
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/

你可能感兴趣的文章
thinkphp 常用SQL执行语句总结
查看>>
Oracle:ORA-00911: 无效字符
查看>>
Text-to-Image with Diffusion models的巅峰之作:深入解读 DALL·E 2
查看>>
Tensorflow.python.framework.errors_impl.ResourceExhaustedError:无法分配内存[操作:AddV2]
查看>>
TCP基本入门-简单认识一下什么是TCP
查看>>
tableviewcell 中使用autolayout自适应高度
查看>>
Symbolic Aggregate approXimation(SAX,符号聚合近似)介绍-ChatGPT4o作答
查看>>
Orcale表被锁
查看>>
svn访问报错500
查看>>
sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
查看>>
ORCHARD 是什么?
查看>>
Struts2中使用Session的两种方法
查看>>
Stream API:filter、map和flatMap 的用法
查看>>
STM32工作笔记0032---编写跑马灯实验---寄存器版本
查看>>
Static--用法介绍
查看>>
ssm旅游信息管理系统的设计与实现bus56(程序+开题)
查看>>
order by rand()
查看>>
SSM(Spring+SpringMvc+Mybatis)整合开发笔记
查看>>
ViewHolder的改进写法
查看>>
Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
查看>>