C# StreamWriter类详细使用

StreamWriter 类是 System.IO 命名空间中的一个用于写入文本到文件的类。它提供了多种方法来写入不同类型的数据到文件中,并且可以指定编码、是否追加等参数。

下面是 StreamWriter 类的一些常见用法:

创建 StreamWriter 实例并写入文件

复制代码
using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = "example.txt";

        // 创建一个新的文件并写入文本
        using (StreamWriter writer = new StreamWriter(filePath))
        {
            writer.WriteLine("Hello, world!");
            writer.WriteLine("This is a test.");
        }

        Console.WriteLine("File written successfully.");
    }
}

指定编码和追加模式

复制代码
using System;
using System.IO;
using System.Text;

class Program
{
    static void Main()
    {
        string filePath = "example.txt";

        // 指定编码和追加模式
        using (StreamWriter writer = new StreamWriter(filePath, true, Encoding.UTF8))
        {
            writer.WriteLine("Hello, world!");
            writer.WriteLine("This is a test.");
        }

        Console.WriteLine("File written successfully.");
    }
}

写入不同类型的数据

复制代码
using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = "example.txt";

        using (StreamWriter writer = new StreamWriter(filePath))
        {
            // 写入字符串
            writer.WriteLine("Hello, world!");

            // 写入整数
            writer.Write("Age: ");
            writer.WriteLine(30);

            // 写入浮点数
            writer.Write("Height: ");
            writer.WriteLine(6.1);

            // 写入多行
            writer.WriteLine("This is a test.");
            writer.WriteLine("Another line.");
        }

        Console.WriteLine("File written successfully.");
    }
}

关闭 StreamWriter

一般情况下,StreamWriterusing 块结束时会自动关闭。如果你手动关闭它,可以调用 Close() 方法:

复制代码
writer.Close();

要读取使用 StreamWriter 写入的文件,你需要使用 StreamReader 类。下面是一个示例,演示了如何使用 StreamReader 读取文件中的内容:

复制代码
using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = "example.txt";

        // 读取文件
        using (StreamReader reader = new StreamReader(filePath))
        {
            // 读取并打印每一行
            string line;
            while ((line = reader.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }
    }
}

在这个示例中,我们首先创建了一个 StreamReader 实例,然后使用 ReadLine() 方法逐行读取文件中的内容,并在控制台打印出来。

相关推荐
rit84324994 小时前
基于MATLAB的模糊图像复原
开发语言·matlab
fie88894 小时前
基于MATLAB的声呐图像特征提取与显示
开发语言·人工智能
路由侠内网穿透4 小时前
本地部署开源持续集成和持续部署系统 Woodpecker CI 并实现外部访问
服务器·网络·windows·ci/cd·开源
程序猿小三4 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
_extraordinary_5 小时前
Java SpringMVC(二) --- 响应,综合性练习
java·开发语言
CsharpDev-奶豆哥5 小时前
ASP.NET中for和foreach使用指南
windows·microsoft·c#·asp.net·.net
@。1246 小时前
对于灰度发布(金丝雀发布)的了解
开发语言·前端
啊?啊?6 小时前
4 解锁 Linux 操作新姿势:man、grep、tar ,创建用户及添加权限等 10 大实用命令详解
linux·服务器·实用指令
_清浅6 小时前
计算机网络【第六章-应用层】
运维·服务器·计算机网络
正在努力的小河6 小时前
Linux 自带的 LED 灯驱动实验
linux·运维·服务器