程序设计Csharp程序设计 (94).pdf
C#程序设计Programming in C#读写文本文件1、StreamReader类2、StreamWriter类C#程序设计程序设计9.3.2 按文本模式读写3StreamReader类派生自TextReader类,使用StreamReader读取标准文本文件的各行信息,StreamReader的默认编码为UTF-8。49.3.2 按文本模式读写表9-11 StreamReader类的主要成员成员类型成员名说明构造函数StreamReader(String)为指定的文件名初始化 StreamReader 类的新实例。构造函数StreamReader(String,Encoding)用指定的字符编码,为指定的文件名初始化StreamReader 类的一个新实例。方法Close 关闭 StreamReader 对象和基础流,并释放与读取器关联的所有系统资源。(重写 TextReader.Close()。)方法Dispose(Boolean)关闭基础流,释放 StreamReader 使用的未托管资源,同时还可以根据需要释放托管资源。(重写TextReader.Dispose(Boolean)。)59.3.2 按文本模式读写续表9-11 StreamReader类的主要成员成员类型成员名说明方法Read()读取输入流中的下一个字符并使该字符的位置提升一个字符。(重写 TextReader.Read()。)方法Read(Char,Int32,Int32)从 index 开始,从当前流中将最多的 count 个字符读入 buffer。(重写 TextReader.Read(Char,Int32,Int32)。)方法ReadBlock从当前流中读取最大 count 的字符并从 index 开始将该数据写入 buffer。(继承自 TextReader。)方法ReadLine从当前流中读取一行字符并将数据作为字符串返回。(重写 TextReader.ReadLine()。)方法ReadToEnd从流的当前位置到末尾读取流。(重写TextReader.ReadToEnd()。)69.3.2 按文本模式读写续表9-11 StreamReader类的主要成员成员类型成员名说明属性EndOfStream 获取一个值,该值表示当前的流位置是否在流的末尾。9.3.2 按文本模式读写7StreamWriter类派生自TextWriter类,使用StreamWriter实现以一种特定的编码向流中写入字符,其默认编码为 UTF-8。89.3.2 按文本模式读写表9-12 StreamWriter类的主要成员成员类型成员名说明构造函数StreamWriter(String)使用默认编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。构造函数StreamWriter(String,Boolean)使用默认编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存在,则可以将其覆盖或向其追加。如果该文件不存在,则此构造函数将创建一个新文件。方法Close 关闭当前的 StreamWriter 对象和基础流。方法Dispose(Boolean)释放由 StreamWriter 占用的非托管资源,还可以另外再释放托管资源。方法Write StreamWriter类具有17中Write方法的重载形式,实现将各种类型的数据写入流。99.3.2 按文本模式读写续表9-12 StreamWriter类的主要成员成员类型成员名说明方法WriteLineStreamWriter类具有18中WriteLine方法的重载形式,实现将各种类型的数据和一个新行或一个空行写入流。109.3.2 按文本模式读写【例9.6】使用流StreamReader和StreamWriter实现文件的读写操作。9.3.2 按文本模式读写11例9.61 usingusing SystemSystem;2 usingusing SystemSystem.IOIO;3 classclass ProgramProgram4 5 static voidstatic void MainMain(stringstring argsargs)6 7 DirectoryInfoDirectoryInfo dDirsdDirs=newnew DirectoryInfoDirectoryInfo(d:(d:););8 usingusing(StreamWriter swStreamWriter sw=newnewStreamWriterStreamWriter(DDriveDirs.txt)(DDriveDirs.txt)9 10 foreachforeach(DirectoryInfo dirDirectoryInfo dir inin dDirsdDirs)/将目录名写入文件11 12 swsw.WriteLineWriteLine(dirdir.NameName););13 9.3.2 按文本模式读写12例9.614 15 stringstring lineline=;16 usingusing(StreamReader srStreamReader sr=newnewStreamReaderStreamReader(DDriveDirs.txt)(DDriveDirs.txt)17 18 whilewhile(lineline=srsr.ReadLineReadLine()!=()!=nullnull)/读出目录名并输出19 20 ConsoleConsole.WriteLineWriteLine(lineline););21 22 23 24 139.3.2 按文本模式读写$RECYCLE.BIN2015-12期末程序设计考试系统安装数据2016年1月成绩原始数据QQMusicCacheSystem Volume Informationtools程序运行屏幕9.3.2 按文本模式读写14例9.61 usingusing SystemSystem;2 usingusing SystemSystem.IOIO;3 classclass ProgramProgram4 5 static voidstatic void MainMain(stringstring argsargs)6 7 DirectoryInfoDirectoryInfo dDirsdDirs=newnew DirectoryInfoDirectoryInfo(d:(d:););8 usingusing(StreamWriter swStreamWriter sw=newnewStreamWriterStreamWriter(DDriveDirs.txt)(DDriveDirs.txt)9 10 foreachforeach(DirectoryInfo dirDirectoryInfo dir inin dDirsdDirs)/将目录名写入文件11 12 swsw.WriteLineWriteLine(dirdir.NameName););13 9.3.2 按文本模式读写15例9.61 usingusing SystemSystem;2 usingusing SystemSystem.IOIO;3 classclass ProgramProgram4 5 static voidstatic void MainMain(stringstring argsargs)6 7 DirectoryInfoDirectoryInfo dDirsdDirs=newnew DirectoryInfoDirectoryInfo(d:(d:););8 usingusing(StreamWriter swStreamWriter sw=newnewStreamWriterStreamWriter(DDriveDirs.txt)(DDriveDirs.txt)9 10 foreachforeach(DirectoryInfo dirDirectoryInfo dir inin dDirsdDirs)/将目录名写入文件11 12 swsw.WriteLineWriteLine(dirdir.NameName););13 9.3.2 按文本模式读写16例9.614 15 stringstring lineline=;16 usingusing(StreamReader srStreamReader sr=newnewStreamReaderStreamReader(DDriveDirs.txt)(DDriveDirs.txt)17 18 whilewhile(lineline=srsr.ReadLineReadLine()!=()!=nullnull)/读出目录名并输出19 20 ConsoleConsole.WriteLineWriteLine(lineline););21 22 23 24 9.3.2 按文本模式读写17例9.614 15 stringstring lineline=;16 usingusing(StreamReader srStreamReader sr=newnewStreamReaderStreamReader(DDriveDirs.txt)(DDriveDirs.txt)17 18 whilewhile(lineline=srsr.ReadLineReadLine()!=()!=nullnull)/读出目录名并输出19 20 ConsoleConsole.WriteLineWriteLine(lineline););21 22 23 24 结束