您的位置:首页 > 编程语言 > C#

C#IO 文件读取笔记二

2017-02-21 15:55 190 查看
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()方法读取整个文件,并且返回的是字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 对象 数据