Csharp/C#教程:C#利用缓存分块读写大文件分享

C#利用缓存分块读写大文件,供大家参考,具体内容如下

在日常生活中,可能会遇到大文件的读取,不论是什么格式,按照储存文件的格式读取大文件,就会在Buffer中看到相关的文件头合内容,以一次.txt文件存取为例。

usingSystem.IO;

首先创建demo文件,此处文件大小没关系,只是演示

privatevoidbutton2_Click(objectsender,EventArgse) { using(FileStreamfsWrite=newFileStream(@"D:1.txt",FileMode.Append)) { stringtemp=""; for(inti=0;i<10000;i++) { temp+=i.ToString()+"/t"; } byte[]m=System.Text.Encoding.UTF8.GetBytes(temp); fsWrite.Write(m,0,temp.Length); } }

读取创建的文件

privatevoidReadtxt() { using(FileStreamfsRead=newFileStream(@"d:2.txt,FileMode.Open")) { //剩余文件内容长度 longleftLength=fsRead.Length; //buffersize intbuffersize=1024; //创建缓存数组 byte[]buffer=newbyte[buffersize]; intrNum=0; intFileStart=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; //字节转换 stringmsg=System.Text.Encoding.UTF8.GetString(buffer);// byte[]myByte=System.Text.Encoding.UTF8.GetBytes(msg);// //写入文件 using(FileStreamfsWrite=newFileStream(@"d:2.txt,FileMode.Append))//处理完成再追加 { fsWrite.Write(myByte,0,myByte.Length); } } fsRead.Close(); } }

写入文件后期,还牵扯到数据的拼接与处理

个人感觉,数据如果要按照一定格式拼接,可以通过改变每次读取的位置,来处理。

您可能感兴趣的文章:C#读写文件的方法汇总C#中读写INI文件的方法例子C#中XmlTextWriter读写xml文件详细介绍C#向二进制文件进行读写的操作方法c#读写ini配置文件示例C#读写txt文件的2种方法c#读写excel文件使用示例C#实现文本文件读写方法汇总FtpHelper实现ftp服务器文件读写操作(C#)C#简单读写txt文件的方法

标签: 缓存

C#使用FileStream对象读写文件

C# FileStream实现大文件复制

上述就是C#学习教程:C#利用缓存分块读写大文件分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/908405.html

(0)
上一篇 2021年10月25日
下一篇 2021年10月25日

精彩推荐