FileStream对象表示指向磁盘或网络路径上的文件的流,这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能,
这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据易于使用,但是有些操作,如随机文件的访问(访问文件中某点
的数据),就必须由FileStream对象执行。
创建FileStream对象最简单的方法只有两个参数,即文件名和FileMode枚举值
如:FileStream aFile=new FileStream(filename,FileMode.<member>);
FileMode枚举包含几个成员,指定如何打开或创建文件
另外一个常用参数就是:FIleAccess枚举,它指定了流的作用
File和FileInfo类都提供了OpenWrite()和OpenRead()方法,前者只允许写入文件,后者打开了只读的文件,这些提供了快捷方式,就可以不必以FileStream构造
函数的形式提供所有必要的信息
如: FileStream aFile=File.OpenRead("Data.txt");
FileStream随机访问文件的位置是通过Seek()方法实现,该方法有两个参数:第一个参数指定文件指针移动的距离,第二个参数指定开始计算的起始位置,用SeekOrigin
枚举的一个值表示:Begin、Current、End
如:aFile.Seek(8,SeekOrigin.Begin);//将文件指针移动到文件的第8个字节处,起始位置是文件的第一个字节
aFile.Seek(2,SeekOrigin.Current);//将文件从当前位置向前移动2个字节
aFile.Seek(-5,SeekOrigin.End);//从文件末尾,查找倒数第五个字节
StreamWriter:
FileStream使用比较麻烦,因为它是操作字节数组,但是StreamRreader使用起来相对方便,它操作的是字符
可以通过已经有的FileStream对象创建StreamWriter对象,也可以直接从文件中创建StreamWriter()对象
如: FileStream aFile=new FileStream("Log.txt",FileMode.CreateNew):
StreamWriter sw=new StreamWriter(aFile);
或: StreamWriter sw=new StreamWriter("Log.txt",true);
那个布尔值指定是追加文件还是创建新文件,false则创建一个新文件,或者截取现有文件,并打开它,true则打开文件,保留原来的数据,如果找不到文件,就创建一个
新文件
将数据写入文件中用的是Write()和WriteLine()方法
StreamReader
该类用于从数据源中读取数据,大多数情况下,数据源是磁盘上的文件或网络的某些位置,在任何可以发送数据的位置都可以是数据源
创建方式:
FileStream aFile=new FileStream("Log.txt",FileMode.Open):
StreamReader sr=new StreamReader(aFile);
或: StreamReader sr=new StreamReader("Log.txt");
读取数据:
Read()方法将流的下一个字符作为正整数值返回,如果到达了流的结尾处,则返回-1
对于小型文件可以用ReadToEnd()方法读取整个文件,并且返回的是字符串
937

被折叠的 条评论
为什么被折叠?



