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类读写操作文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C# StreamReader类实现读取文件的方法

    在 C# 语言中 StreamReader 类用于从流中读取字符串.它继承自 TextReader 类. StreamReader 类的构造方法有很多,这里介绍一些常用的构造方法,如下表所示. 构造方法 说明 StreamReader(Stream stream) 为指定的流创建 StreamReader 类的实例 StreamReader(string path) 为指定路径的文件创建 StreamReader 类的实例 StreamReader(Stream stream, Encoding

  • C#使用StreamWriter写入文件的方法

    本文实例讲述了C#使用StreamWriter写入文件的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace W { class Program { static void Main(string[] args) { u

  • C#使用StreamReader读取文件的方法

    本文实例讲述了C#使用StreamReader读取文件的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace W { class Program { static void Main(string[] args) { u

  • C#使用Streamwriter打开文件的方法

    本文实例讲述了C#使用Streamwriter打开文件的方法.分享给大家供大家参考.具体如下: using System; using System.IO; public class KtoD1 { public static void Main() { string str; StreamWriter fstr_out; // Open the file directly using StreamWriter. try { fstr_out = new StreamWriter("test.t

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

    StreamReader 类 (System.IO) | Microsoft 官方文档 StreamWriter 类 (System.IO) | Microsoft 官方文档 一.文本读写类: TextReader/TextWriter:文本读写,抽象类 1.TextReader文本读,其派生类: StreamReader:以一种特定的编码从字节流中读取字符. StringReader:从字符串读取. 2.TextWriter文本写,其派生类: StreamWriter:以一种特定的编码向流中写

  • Java NIO Path接口和Files类配合操作文件的实例

    Path接口 1.Path表示的是一个目录名序列,其后还可以跟着一个文件名,路径中第一个部件是根部件时就是绝对路径,例如 / 或 C:\ ,而允许访问的根部件取决于文件系统: 2.以根部件开始的路径是绝对路径,否则就是相对路径: 3.静态的Paths.get方法接受一个或多个字符串,字符串之间自动使用默认文件系统的路径分隔符连接起来(Unix是 /,Windows是 \ ),这就解决了跨平台的问题,接着解析连接起来的结果,如果不是合法路径就抛出InvalidPathException异常,否则就

  • Qt读写ini文件之QSettings用法

    目录 前言 示例及代码 前言 在项目中有的配置不希望在界面中展示,只提供给实施运维人员来配置,这时我们可以采用ini等配置文件的方式控制部分功能的开关,比如日志的打印与否,便于出问题时进行调试,如下简要总结一下使用QSettings来读取ini文件,写入类似. 示例及代码 如下是一个简单的config.ini,目前只有一个debug节点,通过status的键值来控制debug日志是否打印并存储到日志文件中,关于Qt存储日志到文件可以参考: https://www.jb51.net/article

  • 一个读写csv文件的C#类

    本文实例为大家分享了一个读写csv文件的C#类,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.IO; using System.Text; namespace CSVDemo { /// <summary> /// CSVUtil is a helper class handling csv files. /// </summary> public class CSVUtil {

  • FileStreaReder和StreamReader两个类介绍

    好吧,先上图: 这里是TextReder类官方的解释:(http://msdn.microsoft.com/zh-cn/library/system.io.textreader.aspx) Peek and Read methods to make a useful instance of TextReader. '>这里是Stream类官方的解释:(http://msdn.microsoft.com/zh-cn/library/system.io.stream.aspx) Peek and R

  • Java对xls文件进行读写操作示例代码

    前言 本文主要给大家介绍的是关于Java对xls文件进行读写操作的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: win7_x64 IDEA Java读写xls文件,使用库jxl.jar 读写xls文件,这里是在知道表格格式的前提下进行操作的. 目前无法操作xlsx文件 准备工作 将库jxl.jar添加到工程依赖中 Java代码示例 示例:从几个文件中读取数据并汇总到一个文件中 表格中的数据规定为:首行为标题,以下是数据和名称:例如 单位名 金额 单位1 948.34

  • Android编程之文件读写操作与技巧总结【经典收藏】

    本文实例总结了Android文件读写操作.分享给大家供大家参考,具体如下: 在Android中的文件放在不同位置,它们的读取方式也有一些不同. 本文对android中对资源文件的读取.数据区文件的读取.SD卡文件的读取及RandomAccessFile的方式和方法进行了整理.供参考. 一.资源文件的读取: 1) 从resource的raw中读取文件数据: String res = ""; try{ //得到资源中的Raw数据流 InputStream in = getResources

  • JavaScript前端开发之实现二进制读写操作

    关于javascript前端开发之实现二进制读写操作的相关介绍,请看以下内容详解,本文介绍的非常详细,具有参考价值. 由于种种原因,在浏览器中无法像nodejs那样操作二进制. 最近写了一个在浏览器端操作读写二进制的帮助类 !function (entrance) { "use strict"; if ("object" === typeof exports && "undefined" !== typeof module) {

  • 详解C++编程中对二进制文件的读写操作

    二进制文件不是以ASCII代码存放数据的,它将内存中数据存储形式不加转换地传送到磁盘文件,因此它又称为内存数据的映像文件.因为文件中的信息不是字符数据,而是字节中的二进制形式的信息,因此它又称为字节文件. 对二进制文件的操作也需要先打开文件,用完后要关闭文件.在打开时要用ios::binary指定为以二进制形式传送和存储.二进制文件除了可以作为输入文件或输出文件外,还可以是既能输入又能输出的文件.这是和ASCII文件不同的地方. 用成员函数read和write读写二进制文件 对二进制文件的读写主

  • C#实现读写ini文件类实例

    本文实例讲述了C#实现读写ini文件类.分享给大家供大家参考.具体如下: 这个C#类封装了对INI配置文件进行操作所需的各种函数,包括读取键值.读取键值.删除段落等 using System; using System.Runtime.InteropServices; using System.Text; namespace DotNet.Utilities { /// <summary> /// INI文件读写类. /// </summary> public class INIF

随机推荐