文件流的使用(C#)
发布日期:2021-05-08 22:20:31 浏览次数:19 分类:精选文章

本文共 2961 字,大约阅读时间需要 9 分钟。

C# 文件操作实例代码解析

本文将详细介绍几种常见的文件操作方法,包括读取、写入以及文件复制等功能,基于C#编程语言实现。

一、文件流读取

public void FilestreamRead(){    // 创建用于读取的文件流    FileStream fsRead = new FileStream(@"路径", FileMode.OpenOrCreate, FileAccess.Read);        // 确定读取缓冲区的大小,建议设置较大的值以提高读取效率    byte[] buffer = new byte[1024 * 1024 * 5];        // 从文件流读取数据到缓冲区    int r = fsRead.Read(buffer, 0, buffer.Length);        // 将缓冲区中的字节转换为字符串    string s = Encoding.UTF8.GetString(buffer, 0, r);        // 关闭文件流    fsRead.Close();        // 释放文件流占用的资源    fsRead.Dispose();        // 输出读取结果    Console.WriteLine(s);}

说明:该方法使用FileStream类来读取文件内容。首先,指定要读取的文件路径和操作模式(如只读),然后创建一个足够大的缓冲区来存储读取的数据。通过Read方法从文件流读取数据并存储在缓冲区中,最后将缓冲区中的字节解码为字符串并输出。需要注意的是,文件路径应根据实际使用情况进行调整。

二、使用StreamReader读取文件

public void StreamReader(){    // 使用StreamReader读取文件    using (StreamReader sr = new System.IO.StreamReader(@"路径"))    {        // 循环读取直到达到末尾        while (!sr.EndOfStream)        {            // 逐行读取文件内容并输出            Console.WriteLine(sr.ReadLine());        }    }}

说明StreamReader类提供了一种更简便的方式来读取文本文件。通过ReadLine方法可以逐行读取文件内容,直到达到文件末尾。该方法适用于处理文本文件,能够自动处理不同编码格式。

三、使用StreamWriter写入文件

public void StreamWriter(){    // 创建用于写入的StreamWriter    using (StreamWriter sw = new System.IO.StreamWriter(@"路径", true))    {        // 启用追加模式(可选)        sw.WriteLine("新内容");                // 如果需要写入多行,可以循环调用WriteLine方法        sw.WriteLine("更多内容");    }}

说明StreamWriter类用于向文件中写入文本内容。与StreamReader类似,通过WriteLine方法可以逐行写入文件内容。StreamWriter还支持追加模式(true参数),适用于需要多次写入同一个文件的情况。

四、文件流写入

public void FilestreamWrite(){    // 创建用于写入的文件流    using (FileStream fsWrite = new FileStream(@"路径", FileMode.OpenOrCreate, FileAccess.Write))    {        // 需要写入的内容        string str = "示例内容";                // 将字符串转换为字节数组        byte[] buffer = Encoding.UTF8.GetBytes(str);                // 将字节数组写入文件流        fsWrite.Write(buffer, 0, buffer.Length);    }}

说明:该方法使用FileStream类来向文件中写入字节数据。首先创建一个用于写入的文件流,然后将要写入的内容转换为字节数组,最后通过Write方法将字节数组写入文件流。需要注意的是,文件路径和访问权限需根据实际情况进行配置。

五、文件复制

public void CopyFile(){    // 源文件路径    string source = @"路径";        // 目标文件路径    string target = @"路径";        // 创建用于读取的文件流    using (FileStream fsRead = new FileStream(source, FileMode.Open, FileAccess.Read))    {        // 创建用于写入的文件流        using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))        {            // 创建一个足够大的缓冲区            byte[] buffer = new byte[1024 * 1024 * 5];                        // 读取文件数据并写入目标文件            while (true)            {                // 读取数据                int r = fsRead.Read(buffer, 0, buffer.Length);                                // 如果读取到0字节,表示已读取完毕                if (r == 0)                {                    break;                }                                // 将读取的数据写入目标文件                fsWrite.Write(buffer, 0, r);            }        }    }}

说明:该方法实现了文件的复制功能。首先创建用于读取源文件的文件流,然后创建用于写入目标文件的文件流。通过循环读取源文件的数据并将其写入目标文件中,直到读取完成。

以上方法均基于C#的System.IO命名空间,适用于处理文件操作任务。每个方法都提供了清晰的代码示例和简要说明,方便开发者理解和使用。

上一篇:Html+Css3实现一个摩天轮特效
下一篇:隐藏文件去掉隐藏属性

发表评论

最新留言

很好
[***.229.124.182]2025年04月19日 10时33分47秒