C#文件读写补充知识

一. FileStream详解

  1. (FileStream fs1 = File.Open("c:\\test.txt", FileMode.Open));

  FileMode.Open 直接用FileStream类打开文件c:\\test.txt",

  2. (FileStream fs2 = File.Open("c:\\test.txt", FileMode.Append, FileAccess.Write));

  FileMode.Append,以追加的方式打开文件"c:\\test.txt",将某些内容写到"c:\\test.txt"里.

  3.(FileStream fs3 =File.Open("c:\\test.txt", FileMode.Truncate, FileAccess.ReadWrite, FileShare.Read)).

  FileMode.Truncate的意思是将文件打开清空里面的内容后再对文件进行操作..

  4. FileStream MyFileStream1 = new FileStream(@"c:\Testing.txt", FileMode.Create);

  这个方法的意思是创建一个可以读写的文件,并且可以允许其他人读取文件的内容.

  二. C#基于流的输入输出.

   C#基于流的输入输出.:Stream-通过C# I/O 系统与物理设备连接起来,也就是平时读写的硬盘等物理存贮设备.流/Stream的方法和属性有:

Method/ Properties 描述
void Close() 关闭流
void Flush() 清理流中的内容
int ReadByte() 返回一个整数表示输入的字节数,如果没有数据返回-1
int Read(byte[ ] buf,int offset, int numBytes)

  将numBytes个字节读入到byte[ ]的以offset为,起始位置,返回读入成功的字节数

Long Seek(long offset,SeekOrigin origin) 将当前位置定位到以origin为初始位置以后的offset处.
void WriteByte(byte b) 将单个字节写入到一个输出流.
void Write(byte[ ] buf,int offset, int numBytes) 写入byte[ ] buf中从offset开始的numBytes个字节.
bool CanRead 是否可读
bool CanSeek 是否支持寻址
bool CanWrite 是否可以写入数据
long Length 流的长度
long Position 流的当前位置.

  三. 流的继承结构

   Stream是一个很大类的,在读写文件的时候,可以通过不同的流进行专业的数据读写.

 

  The FileMode and FileAccess的几条规则:

Value 意义
FileMode.Create 创建文件,之前存在同名的文件将被毁掉
FileMode.CreateNew 创建新文件,这个文件之前不存在
FileMode.Open 打开已经存在的文件
FileMode.OpenOrCreate 打开文件如果存在,否则创建新文件
FileMode.Truncate 打开以存在的文件,将它的内容清除掉
FileMode.Append 以追加的形式将数据写入到文件的最后

  如果在打开文件的时候想限制文件访问权限,那么可以做如下的构造方法:

  FileStream(string filename, FileMode mode, FileAccess access);

                   文件名       文件模式       操作模式

  Access可以是以下当中的一个值:

  FileAccess.Read/  FileAccess.Write/  FileAccess.ReadWrite;

  FileStreamfs=new FileStream(“c:\\tab.txt”,FileMode.OpenOrCreate,FileAccess.Read);

posted @ 2009-07-20 19:57  zhdonghu  阅读(546)  评论(0编辑  收藏  举报