在 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方法来读取。

到此这篇关于C# StreamReader类实现读取文件的方法的文章就介绍到这了,更多相关C# StreamReader类读取文件内容请搜索乐虎体育以前的文章或继续浏览下面的相关文章希望大家以后多多支持乐虎体育!

C# StreamReader类实现读取文件的方法的更多相关文章

  1. C#扫盲篇(四):.NET Core 的异步编程-只讲干货(async,await,Task)

    关于async,await,task的用法和解释最精简的说明关于async,await,task的用法和解释这里就不......

  2. 理解C#中的 async await

    前言一个老掉牙的话题,园子里的相关优秀文章已经有很多了,我写这篇文章完全是想以自己的思维方式来谈一谈自己的理解。(P......

  3. C# 中的动态类型

    翻译自 Camilo Reyes 2018年10月15日的文章 《Working with the Dynamic ......

  4. c#添加Newtonsoft.Json包的操作

    C#使用json点击工具 - NuGet包管理器 - 程序包管理控制台,输入下面命令:Install-Package......

  5. c#在sqlserver中使用EF框架

    vs2017,sqlserver2017(localdb)调试通过。在sqlserver中创建数据库d1,表t1如下......

  6. C# 使用Socket链接Ftp服务器下载上传代码FTPClient

    C#操作FTP的类,Socket实现,网上找到的,整理了一下,处理了一些BUG,喜欢的拿去用,但不保证全部BUG已捉......

  7. C# FTP上传下载 代码

    using System; using System.Collections.Generic; using Sy......

  8. C# 合并和拆分PDF文件

    一、合并和拆分PDF文件的方式 PDF文件使用了工业标准的压缩算法,易于传输与储存。它还是页独立的,一个PDF文件包......

  9. C# 获取当前总毫秒数的实例讲解

    在.Net下DateTime.Ticks获得的是个long型的时间整数,具体表示是至0001 年 1 月 1 日午夜......

  10. C# 实现一个基于值相等性比较的字典

    C# 实现一个基于值相等性比较的字典C# 实现一个基于值相等性比较的字典Intro今天在项目里遇到一个需求,大概是这......

随机推荐

  1. Perl 的 Socket 客户端获取服务器时间

    #!/usr/local/bin/perl -Twrequire 5.6.0;use Socket;use File......

  2. java编译命令基础知识点

    我们在对计算机下达指令时,人类的语言它是不能够明白,需要通过编译的时候翻译成计算机能听懂的语言。编译过程中会调用ja......

  3. vue 中this.$set 动态绑定数据的案例讲解

    感觉网上对this.$set的讲解乱糟糟的,我来总结一下对它单个数据、对象、数组、json数据的绑定.话不多说直接上......

  4. css3实现背景渐变

    #grad {background: -webkit-linear-gradient(left,rgba(255,0......

  5. Java 概述

    1. 什么是Java什么是 JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里......

  6. Python数据结构-集合

    1.集合"""集合(set):没有重复元素且没有顺序的数据结构定义语法:s = set......

  7. c#添加Newtonsoft.Json包的操作

    C#使用json点击工具 - NuGet包管理器 - 程序包管理控制台,输入下面命令:Install-Package......

  8. linux搭建ARM可调试环境

    0x00 前言本文中所介绍的方法目前只测试了单个的demo,并没有拿大型的项目做测试,但是应该是大同小异。这里介绍两......

  9. Java多线程总结(二)

    四.Java多线程的阻塞状态与线程控制上文已经提到Java阻塞的几种具体类型。下面分别看下引起Java线程阻塞的主要......

  10. css3动画整理

    趁逢年味,整理一些小东西,希望大家能够喜欢;列举以下7个小demo来抛砖引玉1、多彩圆环利用 CSS3 的 back......