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


相关推荐: JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  如何在阿里云购买域名并搭建网站?  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  如何在阿里云高效完成企业建站全流程?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  用v-html解决Vue.js渲染中html标签不被解析的问题  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  javascript读取文本节点方法小结  Android GridView 滑动条设置一直显示状态(推荐)  浅谈javascript alert和confirm的美化  C++时间戳转换成日期时间的步骤和示例代码  nginx修改上传文件大小限制的方法  音响网站制作视频教程,隆霸音响官方网站?  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel如何配置任务调度?(Cron Job示例)  如何在服务器上三步完成建站并提升流量?  Laravel如何使用Blade模板引擎?(完整语法和示例)  中山网站制作网页,中山新生登记系统登记流程?  Mybatis 中的insertOrUpdate操作  网站制作企业,网站的banner和导航栏是指什么?  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何撰写建站申请书?关键要点有哪些?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  深入理解Android中的xmlns:tools属性  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel如何发送系统通知?(Notification渠道示例)  大连网站制作公司哪家好一点,大连买房网站哪个好?  iOS中将个别页面强制横屏其他页面竖屏  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  如何快速搭建支持数据库操作的智能建站平台?  如何在服务器上配置二级域名建站?  制作企业网站建设方案,怎样建设一个公司网站?  黑客入侵网站服务器的常见手法有哪些?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  在Oracle关闭情况下如何修改spfile的参数  b2c电商网站制作流程,b2c水平综合的电商平台?  制作旅游网站html,怎样注册旅游网站?  米侠浏览器网页背景异常怎么办 米侠显示修复  Laravel如何使用Service Container和依赖注入?(代码示例)