C#使用FileStream循环读取大文件数据的方法示例

发布时间 - 2026-01-11 01:03:43    点击率:

本文实例讲述了C#使用FileStream循环读取大文件数据的方法。分享给大家供大家参考,具体如下:

今天学习了FileStream的用法,用来读取文件流,教程上都是读取小文件,一次性读取,但是如果遇到大文件,那么我们就需要循环读取文件。

直接上代码。

引用命名空间

using System.IO;

下面就是循环读取大文件的代码

class Program
{
    static void Main(string[] args)
    {
      //循环读取大文本文件
      FileStream fsRead;
      //获取文件路径
      string filePath="C:\\Users\\国兴\\Desktop\\1号店账号.txt";
      //用FileStream文件流打开文件
      try
      {
        fsRead = new FileStream(@filePath,FileMode.Open);
      }
      catch (Exception)
      {
        throw;
      }
      //还没有读取的文件内容长度
      long leftLength = fsRead.Length;
      //创建接收文件内容的字节数组
      byte[] buffer = new byte[1024];
      //每次读取的最大字节数
      int maxLength=buffer.Length;
      //每次实际返回的字节数长度
      int num=0;
      //文件开始读取的位置
      int fileStart=0;
      while (leftLength>0)
      {
        //设置文件流的读取位置
        fsRead.Position=fileStart;
        if (leftLength<maxLength)
        {
          num=fsRead.Read(buffer,0,Convert.ToInt32(leftLength));
        }
        else{
          num=fsRead.Read(buffer,0,maxLength);
        }
        if (num==0)
        {
          break;
        }
        fileStart += num;
        leftLength -= num;
        Console.WriteLine(Encoding.Default.GetString(buffer));
      }
      Console.WriteLine("end of line");
      fsRead.Close();
      Console.ReadKey();
    }
}

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#文件操作常用技巧汇总》、《C#遍历算法与技巧总结》、《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。


# C#  # FileStream  # 循环读取  # 大文件数据  # C#中File和FileStream的简单介绍和用法  # 详解C# FileStream类  # C#使用FileStream对象读写文件  # C#使用FileStream复制一个任意文件  # C# FileStream简单介绍和使用  # 几分钟搞懂c#之FileStream对象读写大文件(推荐)  # C# 使用 Filestream 修改大文件指定位置数据  # 程序设计  # 大文件  # 都是  # 操作技巧  # 还没有  # 相关内容  # 遍历  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 使用技巧  # 文本文件  # 面向对象  # 国兴  # 讲述了  # args  # ReadKey  # fsRead 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: EditPlus中的正则表达式实战(5)  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Laravel如何使用模型观察者?(Observer代码示例)  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  大同网页,大同瑞慈医院官网?  高端建站如何打造兼具美学与转化的品牌官网?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel如何使用withoutEvents方法临时禁用模型事件  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  JavaScript如何实现倒计时_时间函数如何精确控制  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Laravel如何与Pusher实现实时通信?(WebSocket示例)  如何快速搭建安全的FTP站点?  Python数据仓库与ETL构建实战_Airflow调度流程详解  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何快速建站并高效导出源代码?  大连网站制作公司哪家好一点,大连买房网站哪个好?  php485函数参数是什么意思_php485各参数详细说明【介绍】  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  如何快速重置建站主机并恢复默认配置?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  网站制作大概多少钱一个,做一个平台网站大概多少钱?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  如何在万网ECS上快速搭建专属网站?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  详解MySQL数据库的安装与密码配置  如何确保西部建站助手FTP传输的安全性?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  JS碰撞运动实现方法详解  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  如何用花生壳三步快速搭建专属网站?  javascript读取文本节点方法小结  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何用景安虚拟主机手机版绑定域名建站?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  中国移动官方网站首页入口 中国移动官网网页登录  如何在IIS服务器上快速部署高效网站?  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  简单实现Android验证码  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  网站制作壁纸教程视频,电脑壁纸网站?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  详解jQuery停止动画——stop()方法的使用