您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > C#程序设计教程(第2版)-第9章-C#的文件操作
第9章C#的文件操作内容提要:文件的概念File类文件的读和写目的要求:理解文件的概念掌File类的常用方法的用法掌握文件的读和写重点难点:File类、StreamReader类和StreamWriter类在编写应用程序时,常常需要以文件的形式保存和读取一些信息。这时就会不可避免地要进行各种文件操作,还经常会需要设计自己的文件格式。因此,有效地实现文件操作,是一个良好的应用程序所必须具备的内容。9.1文件概念文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。然而,文件(File)和流(Stream)是既有区别又有联系的两个概念。流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。除了和磁盘文件直接相关的文件流以外,流还有多种类型。在System.IO命名空间中提供了多种类,用于进行文件和数据流的读写操作。要使用这些类,需要在程序的开头包含语句:usingSystem.IO;其中File类通常用来完成文件的创建、删除、拷贝、移动、打开等操作。File类常用的方法:(1)Create(path,bufferSize)方法:创建参数path指定的文本文件,返回值为FileStream对象实例,此FileStream对象可以读取及写入字节数据,若指定的文件已经存在,那么会覆盖原来的文件,参数bufferSize用来指定缓冲区的大小,单位为字节,可以省略不写。其方法原型定义为:PublicstaticFileStreamCreate(stringpath);其中path参数表示文件的全路径名称。(2)Open(path,mode,access,fileShare):打开一个参数path指定的文件,并返回FileStream对象实例,参数mode为文件的打开模式。其方法的原型定义如下:PublicstaticFileStreamOpen(stringpath,FileMode);PublicstaticFileStreamOpen(stringpath,FileMode,FileAccess);PublicstaticFileStreamOpen(stringpath,FileMode,FileAccess,FileShare);(3)Copy(sourceFileName,destFileName,overwrite):复制参数sourceFileName指定的文件,新文件的路径及名称为destFileName,参数overwrite用来指定当目的文件已存在时是否覆盖原来的文件,若省略不写的话,表示为默认值False。其方法的原型定义如下:PublicstaticvoidCopy(stringsourceFileName,stringdestFileName);PublicstaticvoidCopy(stringsourceFileName,stringdestFileName,booloverwrite);(4)Delete(path):删除参数path指定的文件。该方法的原型定义如下:PublicstaticvoidDelete(stringpath);(5)Move(sourceFileName,destFileName):将参数sourceFileName指定的源文件移动至参数destFileName指定的目标位置,移动后的文件名称可以和源文件不同,请注意,文件夹无法跨世纪磁盘移动,但文件可以。其方法的原型定义如下:PublicstaticvoidMove(stringsourceFileName,stringdestFileName);9.2文件的读和写通常对于文件最常用的操作就是读取和写入两类。C#提供了两个专门负责文本文件读取和写入操作的类,即StreamWriter类及StreamReader类。StreamWriter类和StreamReader类为用户提供了按文本模式读写数据的方法。StreamWriter类主要负责向文件中写入数据,StreamReader类则负责从文件中读数据。9.2.1读文件读取文本文件(StreamReader类)StreamReader类的常用方法包括Read方法和ReadLine方法。1.Read方法Read方法用于读取输入流中的下一个字符,并使当前流的位置提升一个字符。2.ReadLine方法ReadLine方法从当前流中读取一行字符并将数据作为字符串返回。例如:(使用StreamReader类来读取文本文件,取名为ReadText.cs)usingSystem;usingSystem.IO;classReadText{PublicstaticvoidMain(){//打开读取流StreamReaderfile1=File.OpenText(“D:\\lgh\\ReadText.txt);Stringstr;//从文件中读取数据,并在屏幕上输出While((str=file1.ReadLine())!=null){Console.WriteLine(str);}file1.Close();//关闭读取流}}9.2.2写文件写入文本文件(StreamWriter类)StreamWriter类的常用方法包括Write方法和WriteLine方法。1.Write方法Write方法用于将字符、字符数组、字符串等写入流,不换行。2.WriteLine方法WriteLine方法用于将后跟行结束符的字符、字符数组、字符串等写入文本流。一行一行写。例如:(将数据写入文本文件,取名为WriteText.cs)usingSystem;usingSystem.IO;classWriteText{publicstaticvoidMain(Srting[]args){StreamWriterfile1=File.AppendText(“d:\\TextFile.txt);file1.Write(Thisisatextfile:);file1.WriteLine(TextFile.txt);file1.WriteLine(Nextlinesarenumbers);file1.WriteLine(0);file1.WriteLine(Thenextlineisaboolean);file1.WriteLine(true);file1.Close();}}9.3文件操作实例------链表算法在编程进行大文件操作时,为避免内存消耗过大,尽量提高程序运行效率,常需要将文件一部分一部分读入内存进行操作,而读入内存的数据通常置于相应的数据结构中,例如队列,用以实现数据的插入、修改、查询和删除等操作。本章作业:1.习题9的1、2。实验报告:实验八
本文标题:C#程序设计教程(第2版)-第9章-C#的文件操作
链接地址:https://www.777doc.com/doc-4707066 .html