欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#利用緩存分塊讀寫大文件

 更新時間:2019年05月04日 10:41:45   作者:Hold人民幣  
這篇文章主要為大家詳細介紹了C#利用緩存分塊讀寫大文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下

C#利用緩存分塊讀寫大文件,供大家參考,具體內(nèi)容如下

在日常生活中,可能會遇到大文件的讀取,不論是什么格式,按照儲存文件的格式讀取大文件,就會在Buffer中看到相關的文件頭合內(nèi)容, 以一次.txt文件存取為例。

using System.IO;

首先創(chuàng)建demo文件,此處文件大小沒關系,只是演示

 private void button2_Click(object sender, EventArgs e)
    {
      using (FileStream fsWrite = new FileStream(@"D:\1.txt", FileMode.Append))
      {
        string temp = "";
        for (int i = 0; i < 10000;i++ )
        {
          temp += i.ToString()+"/t";

        }
        byte [] m = System.Text.Encoding.UTF8.GetBytes (temp);
        fsWrite.Write(m, 0, temp.Length);
      }
    }

讀取創(chuàng)建的文件

private void Readtxt()
{
  using (FileStream fsRead = new FileStream(@"d:\2.txt,FileMode.Open"))
  {
    //剩余文件內(nèi)容長度
    long leftLength = fsRead.Length;
    //buffersize 
    int buffersize = 1024;
    //創(chuàng)建緩存數(shù)組
    byte[] buffer = new byte[buffersize];
    int rNum = 0;
    int FileStart = 0;
    while(leftLength > 0)
    {
      //設置文件流的讀取位置
      fsRead.Position = FileStart ;
      if (leftLength < buffersize)
      {
        rNum = fsRead.Read(buffer, 0, Convert.ToInt32(leftLength));
      }
      else
        {
          rNum = fsRead.Read(buffer, 0, maxLength);
        }
        if (rNum == 0)
        {
          break;
        }
        fileStart += rNum;
        leftLength -= rNum;
        //字節(jié)轉(zhuǎn)換
         string msg = System.Text.Encoding.UTF8.GetString(buffer);//

        byte[] myByte = System.Text.Encoding.UTF8.GetBytes(msg);//
         //寫入文件
        using (FileStream fsWrite = new FileStream(@"d:\2.txt, FileMode.Append))//處理完成再追加
        {
          fsWrite.Write(myByte, 0, myByte.Length);
        }
    }
    fsRead.Close();
  }
}

寫入文件后期,還牽扯到數(shù)據(jù)的拼接與處理

個人感覺,數(shù)據(jù)如果要按照一定格式拼接,可以通過改變每次讀取的位置,來處理。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 簡單掌握Windows中C#啟動外部程序進程的方法

    簡單掌握Windows中C#啟動外部程序進程的方法

    這篇文章主要介紹了Windows中C#啟動外部程序進程的方法,例子中同時包括了進程關閉的方法,需要的朋友可以參考下
    2016-03-03
  • C#中互操作性簡介

    C#中互操作性簡介

    這篇文章主要介紹了C#中互操作性的相關資料,文中講解非常細致,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • C#操作Access數(shù)據(jù)庫的實現(xiàn)過程(vs2019)

    C#操作Access數(shù)據(jù)庫的實現(xiàn)過程(vs2019)

    這篇文章主要介紹了C#操作Access數(shù)據(jù)庫的實現(xiàn)過程(vs2019),打開Office Access新建一個空白數(shù)據(jù)庫DATA.accdb,并改好存放位置,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • C#實現(xiàn)公式計算驗證碼的示例詳解

    C#實現(xiàn)公式計算驗證碼的示例詳解

    現(xiàn)在很多的平臺已經(jīng)不使用普通的數(shù)字、字母等驗證碼了,取而代之的是拼圖類、選圖類、旋轉(zhuǎn)類或者計算類的驗證碼。本文將利用C#實現(xiàn)一個公式計算驗證碼,感興趣的可以了解一下
    2022-10-10
  • UnityShader實現(xiàn)百葉窗效果

    UnityShader實現(xiàn)百葉窗效果

    這篇文章主要為大家詳細介紹了UnityShader實現(xiàn)百葉窗效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • WinFrom中l(wèi)abel背景透明的實現(xiàn)方法

    WinFrom中l(wèi)abel背景透明的實現(xiàn)方法

    這篇文章主要介紹了WinFrom中l(wèi)abel背景透明的實現(xiàn)方法,方法簡單實用,是C#程序設計中非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • C#控件Picturebox實現(xiàn)鼠標拖拽功能

    C#控件Picturebox實現(xiàn)鼠標拖拽功能

    這篇文章主要為大家詳細介紹了C#控件Picturebox實現(xiàn)鼠標拖拽功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Unity實現(xiàn)人物平滑轉(zhuǎn)身

    Unity實現(xiàn)人物平滑轉(zhuǎn)身

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)人物平滑轉(zhuǎn)身,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • c#中抽象類和接口的詳細介紹

    c#中抽象類和接口的詳細介紹

    這篇文章介紹了c#中抽象類和接口,有需要的朋友可以參考一下
    2013-10-10
  • C#比較二個數(shù)組并找出相同或不同元素的方法

    C#比較二個數(shù)組并找出相同或不同元素的方法

    這篇文章主要介紹了C#比較二個數(shù)組并找出相同或不同元素的方法,涉及C#針對數(shù)組的交集、補集等集合操作相關技巧,非常簡單實用,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11

最新評論