教材配套教学课件_第1页
教材配套教学课件_第2页
教材配套教学课件_第3页
教材配套教学课件_第4页
教材配套教学课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西华大学电气与电子信息学院 郭奕第八讲文件操作文件的基本操作1目录的基本操作2XML文件的操作3Contents目录文件的基本操作1目录的基本操作2XML文件的操作3Contents目录8.1 文件的基本操作C#提供了System.IO.File和System.IO.FileInfo两个类用来对文件进行基本操作。C#提供了 System.IO.StreamReader 和 System.IO.StreamWriter 两个类用来对文件进行读写操作。System.IO.File 类的成员都是静态的,多用于对文件的一次性操作,System.IO.FileInfo 类是实例化类,多用于对文件的重复操

2、作,可根据实际情况合理选用适合的文件操作类。当需要频繁操作一个文件时,最好选用 System.IO.FileInfo 类,此种场景下,程序的执行效率要高于使用 System.IO.File 类。原因在于使用 System.IO.File 时无需实例化对象,直接调用就可以,但是每次调用 System.IO.File 的静态方法的时候,都要进行一次安全检查,这样就增加了系统开销,而 System.IO.FileInfo 类则是在第一次被实例化时进行一次安全检查,之后调用它的任何方法都不用进行安全检查了。8.1 文件的基本操作File类File 类用于基本的文件操作,如复制、 移动、 重命名、 创建

3、、 打开、 删除和一次将追加到单个文件。还可以使用 File 类用于获取和设置文件属性等。 如果想要在多个文件上执行操作,通常使用Directory.GetFiles 或 DirectoryInfo.GetFiles。详细使用方法请参考MSDN:/zh-cn/library/vs/alm/system.io.file(v=vs.110).aspx创建文件:8.1 文件的基本操作FileInfo类FileInfo类提供用于创建、复制、删除、移动和打开文件的属性和实例方法,并且帮助创建 FileStream 对象。 此类不能被继承。如果需要对同一个文件进行的多种操作时,用FileInfo类比直接用

4、File类更高效,因为FileInfo类不会每次都进行安全检查。详细使用方法请参考MSDN:/zh-cn/library/vs/alm/system.io.fileinfo(v=vs.110).aspx8.1 文件的基本操作FileStream类FileStream 类用于以流的方式对文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream 对输入输出进行缓冲,从而提高性能。FileStream 对象支持使用 Seek 方法对文件进行随机访问。Seek 允许将读取/写入位置移动到文件中的任意

5、位置。File和FileStream 类似纸和笔的关系。详细使用方法请参考MSDN:/zh-cn/library/system.io.filestream(VS.80).aspx8.1 文件的基本操作StreamReader类使用 StreamReader 类可以用于读取标准文本文件的各行信息。StreamReader 的默认编码为 UTF-8,通常 UTF-8 可以正确处理 Unicode 字符,如果使用StreamReader 读取文本文件内容如果得到了乱码,很可能是使用 StreamReader 的编码格式同文本文件的编码格式不一致,可以通过 StreamReader 的构造函数指定使用

6、 StreamReader的编码格式。详细使用方法请参考MSDN:/zh-cn/library/vs/alm/system.io.streamreader(v=vs.110).aspx8.1 文件的基本操作StreamWriter类使用 StreamWriter类可以用于向标准文本文件中写入内容。详细使用方法请参考MSDN:/zh-cn/library/vs/alm/system.io.streamwriter(v=vs.110).aspx凡是Stream用完之后都需要Close8.1 文件的基本操作创建文件有哪些创建文件的方法?8.1 文件的基本操作文件的读取和写入8.1 文件的基本操作文件

7、的写入8.1 文件的基本操作文件的复制、删除和移动File.Copy(oldPath, newPath); /这是在干什么?File.Delete(path); /这是在干什么?File.Move(oldPath, newPath); /这是在干什么?文件的基本操作1目录的基本操作2XML文件的操作3Contents目录8.2 文件目录的基本操作-概述C#提供了 System.IO.Directory 和 System.IO.DirectoryInfo 两个类用来对目录进行操作。System.IO.Directory 类的成员都是静态的,多用于对目录的一次性操作,System.IO.Direc

8、toryInfo 类是实例化类,多用于对目录的重复操作,可根据实际情况合理选用适合的目录操作类。8.2 文件目录的基本操作-Directory 类Directory 类提供用于创建、移动和枚举目录和子目录的静态方法,在使用时需要引用System.IO 命名空间。String dirpath = c:Test我的第一个目录;Directory.CreateDirectory(dirpath);8.2 文件目录的基本操作-DirectoryInfo类DirectoryInfo 类提供用于创建、移动和枚举目录和子目录的实例方法,在使用时需要引用System.IO 命名空间。String dirpat

9、h = c:Test我的第一个目录_DirectoryInfo;DirectoryInfo di = new DirectoryInfo(dirpath);di.Create();8.2 文件目录的基本操作-举例创建目录:Directory.CreateDirectory(dirpath);删除目录:Directory.Delete(dirpath);移动目录:Directory.Move(src_dirpath,tgt_dirpath);创建子目录:DirectoryInfo di = new DirectoryInfo(dirpath);di.CreateSubdirectory(subd

10、irpath); 判断目录是否存在:Directory.Exists(dirpath)8.2 文件目录的基本操作-案例分析(直接利用pdf教材)文件的基本操作1目录的基本操作2XML文件的操作3Contents目录8.3 XML文件的操作XML文件,即可扩展标记语言,可以对文档和数据进行结构化处理,被广泛应用于在网络上传输和存储数据。一个 XML 文件是一个标准的文本文件,通常文件的扩展名是.xml。可以通过记事本程序或浏览器程序打开xml文件,可以直接利用记事本等文本编辑工具编辑其内容。XML文件是一种数据记录格式,可以用于保存和传输数据。8.3 XML文件的操作手动方式在C#中,可以使用X

11、mlDocument类对XML文件进行手动操作,可使用此类在文档中加载、验证、编辑、添加和放置 XML,详细参考MSDN:/zh-cn/library/system.xml.xmldocument(v=vs.110).aspx通过案例分析如何手动控制xml文件的结构8.3 XML文件的操作自动方式(序列化和反序列化)序列化就是将对象的状态信息转换为可以存储或传输形式的过程,就是将对象持久化,比如把对象保存为二进制或者 XML 的方式。可以将对象序列化到流、磁盘、内存和网络等。相反,反序列化则是将存储或传输形式转换为对象的过程。(该过程主要用于数据保存)好处:以某种存储形式(二进制或者是 XML

12、 等)使对象持久化。使对象的传递更加容易。实际中常用于配置数据或基础数据的保存。比如点名程序。8.3 XML文件的操作自动方式(序列化和反序列化).NET 框架提供了两种串行化的方式:使用 BinaryFormatter 进行串行化(二进制方式)使用XmlSerializer 进行串行化(XML方式)可以使用Serializable属性将类标志为可序列化的。如果某个类的元素不想被序列化,可以使用NonSerialized或XmlIgnore来标志。XML 序列化只将对象的公共字段和属性值序列化为 XML 流。XML 序列化不包括类型信息。XML 序列化不能转换方法、索引器、私有字段或只读属性(只读集合除外) 。若要序列化对象的所有公共和私有字段和属性,需要使用DataContractSerial

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论