当前位置: 首页 > news >正文

网站推广和seo网站生成器

网站推广和seo,网站生成器,商融建设集团有限公司网站,新加坡网站建设公司【文件流】 电脑上的文件有很多,文本文件、音频文件、视频文件、图片文件等,这些文件会被持久化存储在磁盘上,其本质都是一堆二进制数据。 FileStream用于读取二进制文件。电脑上的所有文件,不管是文本、音频、视频还是其他任意…

【文件流】

电脑上的文件有很多,文本文件、音频文件、视频文件、图片文件等,这些文件会被持久化存储在磁盘上,其本质都是一堆二进制数据。

FileStream用于读取二进制文件。电脑上的所有文件,不管是文本、音频、视频还是其他任意格式的文件,都可以用FileStream读取。不过读取到的都是二进制数据,需要知道如何反序列化才能得到对应的看得懂的信息。像图片的png格式、视频的mp4格式等,都是公开的反序列化方法。

通过文件流(FileStream)可以做到更细粒度地读取文件,一部分一部分,甚至一个字节一个字节地去读文件,而不是一个文件一个文件地读取。

流整体的来看是不断有东西从一个地方到另一个地方,强调这个过程,例如高铁站进站人流是从站外到站内,文件流是从磁盘到内存,具体来看是流内基本单位从一个地方到另一个地方,例如人流的基本单位是一个人,文件流的基本单位是一个字节。

如果人比较多,五个人一组,一组一组进站,这也是流,基本单位是5个人。如果文件很大,分成很多个文件,一个文件一个文件的读取,也是流,基本单位是一个文件。

TextReader/TextWriter用来高效处理文本文件的读写,基本单位是字符,但它们是抽象类,不能实例化。StreamReader/StreamWriter用于实现文本与二进制之间的转换。(Json文件、cpp文件、cs文件、prefab文件等都是文本文件)

BinaryReader/BinaryWriter用于二进制文件的读写,基本单位是字节。

其他流

FileStream是从磁盘到内存的读和从内存到磁盘的写

MemoryStream是在内存中读写,用于解决内存中各种流的交换

NetWorkStream网络流用来处理服务器与客户端通信的流

BufferedStream BufferedStream从其他Stream读取或写入字节,以提高某些I / O操作的性能。

GZipStream:用于实现压缩解压的流

Cryptostream:用于加密解密的流

文件流的基本操作FileMode

  • Open:打开文件,前提是文件已经存在
  • Create:创建文件
  • OpenOrCreate:打开文件,如果文件不存在,则创建文件
  • Append:附加内容,即向文件中添加新的内容
  • Truncate:打开文件时将文件里面的内容清空,简化了删除文件再创建同名文件的步骤

文件读写权限FileAccess

  • Read:读取权限
  • Write:写入权限
  • ReadWrite:读写权限

【Stream类】

Stream是流的抽象类,任何流都需要继承这个类,有C#预定义的各种流的实现,这些实现让我们不用关心操作系统和基础设备交互等信息。

流的三个基本操作是读取、写入、查找,分别对应三个基础属性CanRead、CanWrite、CanSeek

常用属性

  • Length:流的长度,也即文件的大小,文件本身会记录关于大小的信息,只需要读取文件头就能获得,而不需要读取到整个文件才知道大小。需要注意的是,由于内存对齐等原因,文件大小不一定等于内存占用大小
  • Position:当前读写流的位置,将文件内容看成一个很长的字节数组,Position相当于Index。在文件开头,Position=0;在文件末尾,Position= Array.Length-1

常用方法

  • abstract long Seek(long offset, SeekOrigin origin):指定读写流的位置。Stream. Seek(-10,Origin.End);  表示在流末端往前数第10个位置;Stream. Seek(0,Origin.Begin); 表示在流的开头位置;Stream. Seek(1,Orig`in.Current); 表示在流的当前位置往后数第1个位置。
  • abstract int Read (byte[] buffer, int offset, int count);从流当前位置读取数据放入一个buffer中,读取数据的长度为count,放入buffer中的起始位置是offset,返回实际从流中读取的长度。一般来说,返回值和count相等,如果在流的末尾,可能直接读完了,返回值比count小。
  • abstract void Write (byte[] buffer, int offset, int count):从当前流的位置写入数据,数据从buffer中来,从buffer的offset位置开始写入,写入数据的长度为count。
  • Close()和Dispose():没什么好说的,就是在读取数据进行一系列的处理之后,可能忘记调用了。建议写代码按照一定的顺序来,读取文件之后立刻先把close和dispose写好,再处理中间的数据处理流程。
http://www.shuangfujiaoyu.com/news/60037.html

相关文章:

  • 盗图来做网站北京企业网站推广哪家公司好
  • jsp动态网站开发考试题营销模式和营销策略
  • 浦东网站建设公司在线咨询
  • 做网站的文案怎么写seo搜索引擎优化哪家好
  • 网站建设色彩设计有什么用广点通
  • 没有网站服务器空间如何用ftpseo搜索推广
  • 如何建设社区网站网站推广优化排名seo
  • 东莞网站优化公司搜索引擎费用
  • 广州网站建设clov5r网站推广引流最快方法
  • 党政机关门户网站建设网站排名优化价格
  • 重庆电商网站建设制作一个网站需要多少费用
  • 怎么做扒代码网站百度搜索排名服务
  • 成都网站建设哪儿济南兴田德润怎么联系郑州制作网站公司
  • 网站建设的特点友情链接有用吗
  • 石家庄有哪些公司可以做网站微信群推广网站
  • 微网站制作十大免费网站推广入口
  • 华亭县门户网站最简短的培训心得
  • 山西做网站的企业百度竞价排名服务
  • 谎称在赌博网站做维护seo是什么意思的缩写
  • 宝鸡网站建设排行榜google推广方式和手段有哪些
  • 河南seo公司企业网站seo案例分析
  • 武汉网站快速排名提升seo百度站长工具查询
  • 美发网站带手机版品牌运营具体做什么
  • 建设一个商城式网站可以吗广州今天刚刚发生的重大新闻
  • b2c商城网站营销方案seo和sem分别是什么
  • 合肥房产网58同城西安seo优化工作室
  • 怎么打帮人 做网站开发的广告凡科网建站系统源码
  • 邯郸做网站价格优质友情链接
  • 如何做网站大图片免费网站开发平台
  • 涉县住房与城乡建设厅网站汕头百度推广公司