FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据易于使用,但是有些操作,比如随机文件访问(访问文件中间某点的数据),就必须由FileStream对象执行,稍后对此进行介绍。

还有几种方法可以创建FileStream对象。构造函数具有许多不同的重载版本,最简单的构造函数仅仅带有两个参数,即文件名和FileMode枚举值。

FileStream aFile = new FileStream(filename, FileMode.Member);

FileMode枚举有几个成员,规定了如何打开或创建文件。稍后介绍这些枚举成员。另一个常用的构造函数如下:

FileStream aFile = new FileStream(filename, FileMode.Member, FileAccess. Member);

第三个参数是FileAccess枚举的一个成员,它指定了流的作用。FileAccess枚举的成员如下所示。

Read: 打开文件,用于只读

Write: 打开文件,用于只写

ReadWrite:打开文件,用于读写

对文件进行不是FileAccess枚举成员指定的操作会导致抛出异常。此属性的作用是,基于用户的身份验证级别改变用户对文件的访问权限。

在FileStream构造函数不使用FileAccess枚举参数的版本中,使用默认值FileAccess. ReadWrite。

FileMode枚举成员如下所示。使用每个值会发生什么,取决于指定的文件名是否表示已有的文件。注意这个表中的项表示创建流时该流指向文件中的位置,下一节将详细讨论这个主题。除非特别说明,否则流就指向文件的开头。

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

若文件不存在,则创建一个新文件。只能与枚举FileAccess.Write联合使用

Create:若文件存在,则删除该文件,然后创建新文件

CreateNew:若文件存在,则抛出异常;若文件不存在,则创建新文件

Open:打开现有的文件,流指向文件的开头;若文件不存在,则抛出异常

OpenOrCreate: 打开文件,流指向文件的开头;若文件不存在,则创建新文件

Truncate:打开现有文件,清除其内容。流指向文件的开头,保留文件的初始创建日期;若文件不存在,则抛出异常

File和FileInfo类都提供了OpenRead()和OpenWrite()方法,更易于创建FileStream对象。前者打开了只读访问的文件,后者只允许写入文件。这些都提供了快捷方式,因此不必以FileStream构造函数的参数形式提供前面所有的信息。例如,下面的代码行打开了用于只读访问的Data.txt文件:

FileStream aFile = File.OpenRead("Data.txt");

注意下面的代码执行同样的功能:

FileInfo aFileInfo = new FileInfo("Data.txt");

FileStream aFile = aFile.OpenRead();

转载于:https://www.cnblogs.com/ChengPuYuan/archive/2011/05/13/2045573.html

FileStream对象的使用相关推荐

  1. AIR文件操作(三):使用FileStream对象读写文件

    快速上手例: 例1.读xml var testXML:XML; var file:File = File.documentsDirectory.resolvePath("Mousebomb/ ...

  2. Flash AIR文件操作:使用FileStream对象读写文件

    快速上手例: 例1.读xml var testXML:XML; var file:File = File.documentsDirectory.resolvePath("Mousebomb/ ...

  3. c#FileStream文件读写(转)

    /C#文件流写文件,默认追加FileMode.Append              string msg = "okffffffffffffffff";             ...

  4. java access ole word,利用OLE对象实现Word文档操作

    Word 是常用的字处理软件,在编程中充分利用现有的Word 文档就可以减少很多数据的处理.详细介绍了在ASP.NET 的程序中,利用数据库中的OLE 对象,实现Word文档的在线存取及预览. 1.引 ...

  5. 使用MemoryStream和FileStream

    使用MemoryStream和FileStream 编程访问文件是通过文件流对象进行的,当应用程序需要访问文件时,必须先创建一个文件流对象,此流对象和文件是一一对应关系. 在.NET中,使用抽象基类S ...

  6. 【转】C# 数据流详解(FileStream、MemoryStream、NetworkStream等类)

    本文章内容主要为数据流及相关辅助类: 流(Stream).文件流(FileStream).内存流(MemoryStream).网络流(NetworkStream).加密流(CryptoStream)以 ...

  7. 文件流对象 c# 1614525948

    文件流对象 c# 1614525948 引入IO命名空间 using System.IO; 实例化文件流类 实例化 FileStream 对象 = new FileStream(路径,模式) 关于模式 ...

  8. ASP.NET中的FILE对象总结

    减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2005-6-11 0:14:10 在ASP.NET中引入了名字空间,其中文件操作对应的名字空间是System.IO.名字空间和动态链接库 ...

  9. 浅谈对象生存期与内存管理(转)

    .net内存回收与Dispose﹐Close﹐Finalize方法       一. net的对象使用一般分为三种情况﹕ 1.创建对象       2.使用对象       3.释放对象 二.创建对象 ...

最新文章

  1. jsp对弹出jsp传值 和刷新网页后js仍然没有刷新的解决方法
  2. Python3--爬取海词信息
  3. python库学习笔记——分组计算利器:pandas中的groupby技术
  4. 关闭TCP连接的学问
  5. redis-cli 常用命令
  6. 在golang中defer、panic与recover的作用
  7. python eval 字符串替换_Python中eval妙用,字符串转字典和列表
  8. php遍历memcache,php遍历memcache所有键值
  9. 【操作系统】虚拟存储器(上)-思维导图 :虚拟存储器概述、请求分页存储方式
  10. micropython和python区别-什么是 MicroPython ?它有什么优势?
  11. [开发证书] Apple PKI
  12. 用C语言读取txt文件并统计字符数
  13. 如何在Microsoft Word中转录音频
  14. 12 如何用网格策略网住收益?——实操篇
  15. Go语言并发安全与锁
  16. Android下拉列表怎么做?(小白速成7)
  17. 用 C++ 在Windows中清空回收站内文件/隐藏和显示桌面图标 / Windows任务栏 / 任务栏时钟 / 更改桌面壁纸
  18. java中上传本地图片
  19. c语言“递归系列”:递归实现x的n次方
  20. 尝试EFM32下的fatfs的使用

热门文章

  1. AST语法结构树初学者完整教程
  2. nodeJS之域名DNS
  3. linux系统监控命令
  4. 2011年国外最受欢迎的15个音乐网站
  5. sql server 索引阐述系列五 索引参数与碎片
  6. TypeScript极速完全进阶指南-2中级篇
  7. 每天一个linux命令(5):in命令
  8. yum客户端的配置文件的格式
  9. ajax 跨域请求_什么是跨域问题?如何解决?
  10. 浏览器登录_谷歌浏览器在Android 7.0及以上版本支持使用指纹进行无密码登录