filestream的读写都在这儿啦

helloiwen helloiwen     2023-01-14     330

关键词:

转https://blog.csdn.net/liyuqian199695/article/details/70135584 FileStream读写文件

打个比方,File类可以看成一艘轮船可以把我们的货物全部装上,然后运输到河的对岸。
FileStream类型就可以看成公路上的小货车,假如要把我们的货全部送到目的地,可能需要返回来装很多次。

那么问题很明显,FileStream是把数据拆分成很多小份,慢慢的去运输。回到我们的问题,FileStream每次运输的小份数据会马上完工,使用方可以马上从缓存池拿出来用,
File由于量比较大,运输需要时间,使用方只有等待。并且最重要的是,FileStream只需要开小内存存放文本里的数据就可以,而File需要开对应文本那样大的内存去缓存文本内容。
并且FileStream提供了异步读取操作,就是我们在读取的时候还是可以做其他的事,不至于让我们一直在读取文本,不能点击查看UI.

//写文本数据代码
FileStream fs = new FileStream(_Path1, FileMode.Create);

string strWord = "插入的文本";

//字符串转成byte数组
byte[] byteArray = Encoding.UTF8.GetBytes(strWord);

fs.Write(byteArray, 0,byteArray.Length);

fs.Close();
//定义文件流
FileStream fs = new FileStream(_Path1, FileMode.Open);

//开辟内存区域 缓存读出来的文本数据 用于将来显示在控制台里
byte[] byteArray = new byte[1024 * 1024]; //1M空间

//开始读取数据 0表示从缓存内存的第一个字节开始
//count 是我们真正读取到的字节数量 比如我们在文件结尾,可能没有1M的数据给我们读
//这个方法刚好返回的是我们从文本中读取的字节数量
int count = fs.Read(byteArray, 0, byteArray.Length);


//开始转码 二进制我们是无法看的 我们需要转成字符串形式
string str = Encoding.UTF8.GetString(byteArray, 0, count);

//读取文本操作完成后。我们需要释放一切关于文件流操作申请的计算机资源,不释放的话,操作系统 是不会主动回收的。我们需要自己去释放
fs.Close();

Console.WriteLine(str);















使用filestream对象读写文件

...c#提供了很多种方式来对文件进行读写操作,今天来说说FileStream对象。   FileStream表示在磁盘或网络路径上指向文件的流。一般操作文件都习惯使用StreamReader和StreamWriter,因为它们操作的是字符数据。而FileStream对象操作的是字... 查看详情

filestream读写文件streamwriter和streamreader

FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据... 查看详情

filestream类读写操作

...点一点的读取和写入,内存压力很小。*三种文件流类:FileStream:操作字节(byte),可读可写,可以操作任何文件。*StreamReader+StreamWriter:操作字符,操作文本文件。*// 查看详情

c#之filestream类介绍(代码片段)

FileStream类FileStream(文件流)这个类主要用于二进制文件中读写,也可以使用它读写任何文件。StreamReader(流读取器)和StreamWriter(流写入器)专门用于读写文本文件使用FileStream读写二进制文件:FileStream实例用于读写文件中的数据ÿ... 查看详情

c#之filestream类介绍(代码片段)

FileStream类FileStream(文件流)这个类主要用于二进制文件中读写,也可以使用它读写任何文件。StreamReader(流读取器)和StreamWriter(流写入器)专门用于读写文本文件使用FileStream读写二进制文件:FileStream实例用于读写文件中的数据ÿ... 查看详情

filestream读写文件

privatevoidbtnSave_Click(objectsender,EventArgse){//F:新建文件夹using(FileStreamfileRead=newFileStream(@"F:新建文件夹日语讲义.pdf",FileMode.OpenOrCreate,FileAccess.Read)){FileWrite(fileRead,"日语讲义.pdf");}}//传输流,创 查看详情

04_filestream类

...点一点的读取和写入,内存压力很小。*三种文件流类:FileStream:操作字节(byte),可读可写,可以操作任何文件。*StreamReader+StreamWriter: 查看详情

关于显著性检验,你想要的都在这儿了!!

 无论你从事何种领域的科学研究还是统计调查,显著性检验作为判断两个乃至多个数据集之间是否存在差异的方法被广泛应用于各个科研领域。笔者作为科研界一名新人也曾经在显著性检验方面吃过许多苦头。后来醉心于统... 查看详情

滑动删除item,拖拽切换item,你想了解的都在这儿

1.概述如果上两篇对RecyclerView介绍后,依然没有引起你的兴趣,那么下面关于RecyclerView的使用我相信一定会让你如获珍宝。直接看运行效果。图-1RecyclerView滑动删除图-2RecyclerView拖拽切换用ListView或者GridView实现上图中的功能非常... 查看详情

filestream和streamreaderstreamwriter的区别(代码片段)

//FileStream类不是静态类,表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。 //这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字... 查看详情

filestream对文本进行读写操作(代码片段)

classFileHelper///<summary>///检验文件路径是否合法///</summary>///<paramname="path">文件路径</param>privatestaticboolCheckPath(stringpath)//正确格式:C:UsersjcxDesktopTest.txtstringpattern= 查看详情

做后台开发用到的技能都在这儿——《后台开发:核心技术与应用实践》

   大多数面向对象语言没有指针的概念,C语言也没有对象的概念,同时具有指针和对象的C++语言在学习时有高昂的门槛,同时在服务端后台开发、处理多并发的海量网络请求等方面有天然的优势。就像Android开发对性... 查看详情

有关分库分表你想知道的,都在这儿了

面试的时候,聊到高并发或者大数据,很多时候会聊到数据库分库分表相关的问题,因为你的数据库单机抗不了多少并发量,而且用户量上来之后,数据库容纳的数据量也是有限的。如果单表数据量过大,... 查看详情

filestream类的使用

1、什么是FileStream类  FileStream 类对文件系统上的文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream ... 查看详情

滑动删除item,拖拽切换item,你想了解的都在这儿(代码片段)

转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/523305371.概述如果上两篇对RecyclerView介绍后,依然没有引起你的兴趣,那么下面关于RecyclerView的使用我相信一定会让你如获珍宝。直接看运行效果。图-1RecyclerView滑动... 查看详情

刚刚kubernetes1.25正式发布,所有变化都在这儿了(代码片段)

此版本带来了40项增强功能,略少于Kubernetes1.24 中的46项。在这40项增强功能中,13项正在升级到稳定版,10项是对现有功能的不断改进,15项是全新的,2项是已弃用的功能。此版本的亮点是PodSecurityPolicies被最... 查看详情

用filestream加byte[]字节数组缓冲区读写文件

usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApplication3{classProgram{staticvoidMain(string[]args){//思路:就是现 查看详情

java8新特性lambda表达式基础语法,都在这儿了!!

写在前面前面积极响应读者的需求,写了两篇Java新特性的文章。有小伙伴留言说:感觉Lambda表达式很强大啊!一行代码就能够搞定那么多功能!我想学习下Lambda表达式的语法,可以吗?我的回答是:没问题!这不,Lambda表达式... 查看详情