服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - 几分钟搞懂c#之FileStream对象读写大文件(推荐)

几分钟搞懂c#之FileStream对象读写大文件(推荐)

2022-07-21 09:22牛掰是怎么形成的 C#

这篇文章主要介绍了c#之FileStream对象读写大文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

还是一样,我先上代码,但是为了你们测试结果和我一样,必须先有准备工作,否则会找不到目录或者文件就没有效果;

几分钟搞懂c#之FileStream对象读写大文件(推荐)

既然是读取大文件,那么这个文本必须存在

现在来看目标目录

几分钟搞懂c#之FileStream对象读写大文件(推荐)

其实这里的文本文件可以删除,因为我们写入文本数据的时候的模式是当没有找到文件就创建新的。

下面上的上代码

“` 
using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Reflection; 
using System.Text;

namespace IO目录管理 
{ 
class Program 
{ 
private string _StrSourcePath = @”E:\TestDir\Test\1.txt”; //源文件目录 
private string _StrTagrgetPath = @”F:\TestDir\Test\1.txt”; //目标文件目录
public void Test()
{
  //路径合法性判断
  if(File.Exists(_StrSourcePath))
  {
    //构造读取文件流对象
    using (FileStream fsRead = new FileStream(_StrSourcePath, FileMode.Open)) //打开文件,不能创建新的
    {
      //构建写文件流对象
      using (FileStream fsWrite = new FileStream(_StrTagrgetPath,FileMode.Create)) //没有找到就创建
      {
        //开辟临时缓存内存
        byte[] byteArrayRead = new byte[1024 * 1024]; // 1字节*1024 = 1k 1k*1024 = 1M内存

        //通过死缓存去读文本中的内容
        while(true)
        {
          //readCount 这个是保存真正读取到的字节数
          int readCount = fsRead.Read(byteArrayRead, 0, byteArrayRead.Length);

          //开始写入读取到缓存内存中的数据到目标文本文件中
          fsWrite.Write(byteArrayRead, 0, readCount);


          //既然是死循环 那么什么时候我们停止读取文本内容 我们知道文本最后一行的大小肯定是小于缓存内存大小的
          if(readCount < byteArrayRead.Length)
          {
            break; //结束循环
          }
        }
      }
    }
  }
  else
  {
    Console.WriteLine("源路径或者目标路径不存在。");
  }
}


static void Main(string[] args)
{
  Program p = new Program();
  p.Test();

}
}

一定要上机测试,具体每行代码解释的很清楚,就不多解释了。

以上所述是小编给大家介绍的c#之FileStream对象读写大文件详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/qq_33060405/article/details/78485028

延伸 · 阅读

精彩推荐
  • C#C#简单邮件群发通用类

    C#简单邮件群发通用类

    这篇文章主要为大家分享了简单的C#邮件群发通用类,代码简单实用,感兴趣的小伙伴们可以参考一下...

    上善,若水6722021-11-15
  • C#C# Winform自动更新程序实例详解

    C# Winform自动更新程序实例详解

    这篇文章主要为大家详细介绍了C# Winform 自动更新程序实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    garychk4192022-02-13
  • C#C#使用Aspose.Cells创建和读取Excel文件

    C#使用Aspose.Cells创建和读取Excel文件

    这篇文章主要为大家详细介绍了C#使用Aspose.Cells创建和读取Excel文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    在代码的世界里游走11012022-03-02
  • C#逐步讲解快速排序算法及C#版的实现示例

    逐步讲解快速排序算法及C#版的实现示例

    快速排序在时间复杂度同为O(N*logN)的几种排序方法中效率较高,因而比较常用,接下来这里就来逐步讲解快速排序算法及C#版的实现示例...

    MoreWindows5652021-11-25
  • C#在WinForm中发送HTTP请求的实现方法

    在WinForm中发送HTTP请求的实现方法

    下面小编就为大家带来一篇在WinForm中发送HTTP请求的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    C#教程网8592021-11-24
  • C#C#实现TreeView节点拖拽的方法

    C#实现TreeView节点拖拽的方法

    这篇文章主要介绍了C#实现TreeView节点拖拽的方法,涉及C#针对TreeView节点的动态添加及移除技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    99re12542021-10-26
  • C#如何利用Jenkins + TFS为.Net Core实现持续集成/部署详解

    如何利用Jenkins + TFS为.Net Core实现持续集成/部署详解

    这篇文章主要给大家介绍了关于如何利用Jenkins + TFS为.Net Core实现持续集成/部署的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具...

    myzony4352022-02-23
  • C#c# 文件压缩zip或将zip文件解压的方法

    c# 文件压缩zip或将zip文件解压的方法

    下面小编就为大家分享一篇c# 文件压缩zip或将zip文件解压的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    FeiJerry3492022-02-21