亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

精通 C# 文件流:StreamReader 与 StreamWriter 分步指南

在 C# 文件 I/O 中,流作为应用程序与底层文件系统的中介。它们以内存高效方式读写文件,尤其处理大数据集时。

不将整个 100 MB 文件加载到内存(导致应用冻结),流将数据分块处理。这种方式保持性能平滑、防止崩溃。

下面通过简明示例演示如何使用 StreamReader 和 StreamWriter 读写文件。按分步说明将这些模式集成到你的项目中。

StreamReader – 读取文件

StreamReader 类逐行读取文本文件,数据经缓冲区传递给应用处理。

假设 D 盘有 Example.txt,包含两行:

创建控制台应用,在 Program.cs 添加以下代码:

精通 C# 文件流:StreamReader 与 StreamWriter 分步指南

using System;
using System.IO;
namespace DemoApplication {
    class Tutorial {
        static void Main(string[] args) {
            string path = @"D:\Example.txt";
            using (StreamReader sr = File.OpenText(path)) {
                string line;
                while ((line = sr.ReadLine()) != null) {
                    Console.WriteLine(line);
                }
            }
            Console.ReadKey();
        }
    }
}

解析:

  1. 用 File.OpenText 实例化 StreamReader,以只读模式打开文件。
  2. ReadLine() 逐行读取,将数据从文件传至缓冲区再到 line 变量。
  3. 每行输出到控制台。

在 Visual Studio 运行程序显示:

精通 C# 文件流:StreamReader 与 StreamWriter 分步指南

Example.txt 两行正确显示,证明读取器按预期工作。

StreamWriter – 写入文件

反之,StreamWriter 通过缓冲区将文本从应用写入文件。下面简单示例向同一 Example.txt 追加一行。

精通 C# 文件流:StreamReader 与 StreamWriter 分步指南

using System;
using System.IO;
namespace DemoApplication {
    class Tutorial {
        static void Main(string[] args) {
            string path = @"D:\Example.txt";
            using (StreamWriter sw = File.AppendText(path)) {
                sw.WriteLine("Guru99 – ASP.Net");
            }
            Console.WriteLine(File.ReadAllText(path));
            Console.ReadKey();
        }
    }
}

解析:

  1. 用 File.AppendText 实例化 StreamWriter,以追加模式打开文件。
  2. WriteLine() 写入新行,将文本推入缓冲区再写入文件。
  3. using 块自动关闭写入器。
  4. 用 File.ReadAllText 读取整个文件内容确认写入。

执行程序显示:

精通 C# 文件流:StreamReader 与 StreamWriter 分步指南

控制台显示全部三行,确认新条目成功追加。

关键要点

C语言

  1. C++ for 循环详解:语法、执行流程与实战示例
  2. 掌握 C++ switch-case:语法、用法与实战示例
  3. C++ 动态数组分配实战指南:new/delete、初始化、扩容与内存管理
  4. C++ 流精通:cout、cin、cerr、clog 实战指南
  5. C++ std::stack 完全指南:核心操作、实战示例与 STL 应用
  6. C++ 结构体详解:定义、初始化、指针、函数参数与局限性
  7. C++ 类与对象实战指南:封装、构造函数、析构函数与访问控制
  8. C++ 多态详解:编译时/运行时多态、函数重载、运算符重载、虚函数与覆盖
  9. 掌握 C++ std::list:语法、函数与实战示例
  10. C# 抽象类实战教程:从定义到派生的完整代码示例
  11. C# 集合实战教程:ArrayList、Stack、Queue、Hashtable 等核心类型全解析
  12. Java BufferedReader 读取文件:实战指南与示例