C#之I/O系统(三)
来源:互联网 发布:淘宝福建拍卖 编辑:程序博客网 时间:2024/04/30 01:31
(三)文件系统I/O
对于操作系统来说,所有的文件都是面向字节的,而磁盘文件是一种最常见的文件类型。C#中提供了以字节方式读写文件的方法,最常见的方法就是使用字节数据流读写文件,当然我们也能够将这些字节数据流包装在一个基于字符的对象中,使用字符数据流读写文件。
要创建一个附加到文件的字节数据流,我们可以使用FileStream类,由于FileStream类是派生于Stream类的字节数据流类,而对于操作系统来说文件都是面向字节的,所以使用FileStream类可以对一切文件进行读写操作,如可执行文件,目标文件,源文件等。
要读写文件,我们首先应该要知道的是如何去打开和关闭一个文件。FileStream类定义了多个构造函数,常用的有构造函数有以下两种:
FileStream(string path,FileMode mode);
FileStream(string path,FileMode mode,FileAccess access);
FileStream(string path,FileMode mode,FileAccess access,FileShare share);
其中,path指定了文件的完整路径,FileMode是枚举类型,指定了文件的创建模式,FileAccess是枚举类型,指定了文件的读写权限,FileShare是枚举类型,指定了文件的共享属性。下面详细讲述一个各个枚举类型及其值的含义。
在打开文件的时候,有可能会出现错误,这时就会抛出异常,常见的异常有IOException类(包含PathTooLongException,DirectoryNotFoundException和FileNotFoundException三个子类异常),ArgumentNullException(文件名为空),ArgumentException(文件名无效),ArgumentOutOfRangeException(模式无效),SecurityException(用户不具有访问权限)。
当我们使用完文件需要将其进行关闭,这时需要调用Close函数,该函数释放分配给文件的系统资源,实际是通过调用Dispose()方法来工作的,Dispose()方法实际的释放资源。
- C#之I/O系统(三)
- C#之I/O系统(一)
- C#之I/O系统(二)
- C#之I/O系统(四)
- C#之I/O系统(五)
- C# I/O系统
- linux系统I/O复用技术之三:epoll()
- linux系统编程之文件与I/O(三):目录的操作
- linux系统编程之文件与I/O(三):目录的操作
- linux系统编程之文件与I/O(三):目录的操作
- Linux系统文件I/O编程(三)---I/O多路复用
- Linux系统文件I/O编程(三)---I/O多路复用
- C#学习笔记之七(network I/O, Asynchonouse network I/O)
- 说说 Java I/O 系统之 I/O 流的典型用法(带示例)
- (三)Socket I/O模型之事件选择(WSAEventSelect)
- 新型I/O架构引领存储之变(三)
- 说说 Java I/O 系统之标准 I/O
- I/O流类库(三)
- poj2251 - Dungeon Master
- python 如何获取文件夹下所有的目录。
- Linux fork与vfork的区别
- J2ME 拼图游戏 快速开发 全过程 之代码祥解(3 )——拼图的方格类、个人信息类、选择背景拼图的列表类
- C++里,在类中使用指向类成员函数的指针
- C#之I/O系统(三)
- Android游戏源码合集(主要是AndEngine和Libgdx的)
- Android应用开发之使用Socket进行大文件断点上传续传
- struts2 入门
- J2ME 拼图游戏 快速开发 全过程 之代码祥解(4 )——图片操作类、图片预览后处理类
- XML操作类
- poj1426 - Find The Multiple
- J2ME 拼图游戏 快速开发 全过程 之代码祥解(5 )——记录集操作类、序列的奇偶性检查类
- Android应用的自动升级、更新模块的实现完整方案+参考程序代吗