C#使用StreamReader和StreamWriter类读写操作文件

 更新时间:2022年05月11日 09:16:14   作者:springsnow  
这篇文章介绍了C#使用StreamReader和StreamWriter类读写操作文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

StreamReader 类 (System.IO) | Microsoft 官方文档

StreamWriter 类 (System.IO) | Microsoft 官方文档

一、文本读写类:

TextReader/TextWriter:文本读写,抽象类

1、TextReader文本读,其派生类:

  • StreamReader:以一种特定的编码从字节流中读取字符。
  • StringReader:从字符串读取。

2、TextWriter文本写,其派生类:

  • StreamWriter:以一种特定的编码向流中写入字符。
  • StringWriter:将信息写入字符串, 该信息存储在基础 StringBuilder 中。
  • IndentedTextWriter:提供可根据 Tab 字符串标记缩进新行的文本编写器。
  • HttpWriter:提供通过内部 TextWriter 对象访问的 HttpResponse 对象。
  • HtmlTextWriter:将标记字符和文本写入 ASP.NET 服务器控件输出流。 此类提供 ASP.NET 服务器控件在向客户端呈现标记时使用的格式化功能。

二、StreamReader类,读文件

1、实例:

构造函数:默认编码为UTF-8

StreamReader srAsciiFromFile =  new StreamReader("C:\\Temp\\Test.txt", System.Text.Encoding.ASCII);
StreamReader srAsciiFromStream = new StreamReader( (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),System.Text.Encoding.ASCII);

1、从文件读取文本 Read(),Peek()

using (StreamReader sr = new StreamReader(path))
{
    while (sr.Peek() >= 0)
    {
        Console.Write((char)sr.Read());
    }
}

2、调用其ReadAsync()方法以异步方式读取文件。

static async Task Main()
{
    await ReadAndDisplayFilesAsync();
}

static async Task ReadAndDisplayFilesAsync()
{
    String filename = "C:\\s.xml";
    Char[] buffer;

    using (var sr = new StreamReader(filename))
    {
        buffer = new Char[(int)sr.BaseStream.Length];
       await sr.ReadAsync(buffer, 0, (int)sr.BaseStream.Length);
    }

    Console.WriteLine(new String(buffer));
}

3、读取一行字符。ReadLine()

using (StreamReader sr = new StreamReader("TestFile.txt"))
{
    string line;
    // Read and display lines from the file until the end of the file is reached.
    while ((line = sr.ReadLine()) != null)
    {
        Console.WriteLine(line);
    }
}

4、读取到一个操作中的文件的末尾。ReadToEnd()

using (StreamReader sr = new StreamReader(path))
{
    Console.WriteLine(sr.ReadToEnd());
}

三、StreamWriter类,写文件

实例:

StreamWriter类允许直接将字符和字符串写入文件

//保留文件现有数据,以追加写入的方式打开d:\file.txt文件
using (StreamWriter sw = new StreamWriter(@"d:\file.txt", true)) //true 表示追加
{
    //向文件写入新字符串,并关闭StreamWriter
    sw.WriteLine("Another File Operation Method");
}

到此这篇关于C#使用StreamReader和StreamWriter类读写操作文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解C#多线程之线程同步

    详解C#多线程之线程同步

    本文主要介绍了C#线程同步的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • C# TreeView控件使用技巧汇总

    C# TreeView控件使用技巧汇总

    这篇文章主要介绍了C# TreeView控件使用技巧汇总,TreeView控件在窗体应用里面使用也是频率比较高的,我们在使用TreeView一般是对资源的分层展示,类似数据结构里面树的凹入表示法
    2022-08-08
  • 详解C# List<T>的Contains,Exists,Any,Where性能对比

    详解C# List<T>的Contains,Exists,Any,Where性能对比

    这篇文章主要介绍了详解C# List<T>的Contains,Exists,Any,Where性能对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Unity UGUI的GraphicRaycaster射线投射组件介绍使用

    Unity UGUI的GraphicRaycaster射线投射组件介绍使用

    这篇文章主要为大家介绍了Unity UGUI的GraphicRaycaster射线投射组件介绍使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • C#中四种定时器的用法详解

    C#中四种定时器的用法详解

    日常项目开发中,很多时候都需要用到定时器来处理一些问题,那么c#中各种定时器应该怎么用呢?下面来简单介绍下C#中4种定时器的使用方法说明,感兴趣的朋友可以参考下
    2024-04-04
  • C#难点逐个击破(6):C#数据类型与.net framework数据类型

    C#难点逐个击破(6):C#数据类型与.net framework数据类型

    最近开始看Illustrator C#2008,这真是一本好书,我读计算机书籍这么多了,能让我称为好书的没有多少。
    2010-02-02
  • C#通过域名获得IP地址的方法

    C#通过域名获得IP地址的方法

    这篇文章主要介绍了C#通过域名获得IP地址的方法,涉及C#中GetHostByName方法的使用技巧,需要的朋友可以参考下
    2015-04-04
  • C#多线程系列之手动线程通知

    C#多线程系列之手动线程通知

    本文详细讲解了C#多线程中的手动线程通知,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 字符串阵列String[]转换为整型阵列Int[]的实例

    字符串阵列String[]转换为整型阵列Int[]的实例

    下面小编就为大家分享一篇字符串阵列String[]转换为整型阵列Int[]的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • 详解C#调用matlab生成的dll库

    详解C#调用matlab生成的dll库

    这篇文章主要介绍了C#调用matlab生成的dll库,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09

最新评论