FileStream说明

Posted huang34

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FileStream说明相关的知识,希望对你有一定的参考价值。

FileStream(String, FileMode)    FileStream(String path, FileMode)

文件打开模式:(FileMode)包括6个枚举

  Append:追加  FileAccess.Write

  Create:存在则创建文件,不存在则覆盖  FileAccess.Write

  CreateNew:创建,如文件存在则引发异常   FileAccess.Write

  Open:应打开现有文件 如不存在文件则引发异常  FileAccess.Write,FileAccess.Read,FileAcess.ReadWrite

  OpenOrCreate:应打开一个文件并创建一个新的文件 FileAccess.Write,FileAccess.Read,FileAcess.ReadWrite

 Truncate: 应打开现有文件。当打开文件时同时清空文件内容 最后才能添加新内容FileAccess.Write

成 员

文 件 存 在

文件不存在

Append

打开文件,流指向文件的末尾,只能与枚举FileAccess.Write联合使用

创建一个新文件。只能与枚举FileAccess.Write联合使用

Create

删除该文件,然后创建新文件

创建新文件

CreateNew

抛出异常

创建新文件

Open

打开现有的文件,流指向文件的开头

抛出异常

OpenOrCreate

打开文件,流指向文件的开头

创建新文件

Truncate

打开现有文件,清除其内容。流指向文件的开头,保留文件的初始创建日期

抛出异常

文件的访问方式:(FileAccess)

包括三个枚举:

FileAccess.Read(对文件读访问)

FileAccess.Write(对文件进行写操作)

FileAccess.ReadWrite(对文件读或写操作)

文件共享方式:(FileShare)

FileShare方式是为了避免几个程序同时访问同一个文件会造成异常的情况。

文件共享方式包括四个:

FileShare.None 谢绝共享当前文件

FileShare.Read 充许别的程序读取当前文件

FileShare.Write 充许别的程序写当前文件

FileShare.ReadWrite 充许别的程序读写当前文件

FileStream常用的属性和方法:

属性:

CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取

CanWrite 判断当前流是否支持写入,返回bool值,True表示可以写入

方法:

Read() 从流中读取数据,返回字节数组

Write() 将字节块(字节数组)写入该流

Seek() 设置文件读取或写入的起始位置

Flush() 清除该流缓冲区,使得所有缓冲的数据都被写入到文件中

Close() 关闭当前流并释放与之相关联的所有系统资源

abstract int Read(byte[] buffer, int offset, int count)

这个方法包含了3个关键的参数:缓冲字节数组,位移偏量和读取字节个数,每次读取一个字节后会返回一个缓冲区中的总字节数

第一个参数:这个数组相当于一个空盒子,Read()方法每次读取流中的一个字节将其放进这个空盒子中。(全部读完后便可使用buffer字节数组了)

第二个参数:表示位移偏量,告诉我们从流中哪个位置(偏移量)开始读取。

最后一个参数:就是读取多少字节数。

原文件也会逐渐减少了int count。

实例:

技术分享图片

 

技术分享图片

 

以上是关于FileStream说明的主要内容,如果未能解决你的问题,请参考以下文章

StreamReader和StreamWriter说明

BinaryFormatter.Serialize() 是不是在 FileStream.Flush() 和 FileStream.Close() 之前完成?

C# 之 FileStream类介绍

C# 之 FileStream类介绍

确定给定 FileStream 的文件扩展名

FileStream和StreamReader,StreamWrite,BinaryWriter