第8章-文件操作与编程技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.NET程序设计杨剑yang_jian03@126.com2C#程序设计语言第一章:.NET与C#概述第二章:面向对象程序设计第三章:集合、索引器与泛型第四章:程序调试与异常处理第五章:基于事件驱动的程序设计第六章:Windows程序设计技术第七章:C#数据库编程技术第八章:文件操作与编程技术第九章:多线程和异步编程第八章文件操作与编程技术4本章目标了解XML的概念和及其基本的语法规则了解常用的操作流的类的功能掌握文本文件或二进制文件读写方法掌握操作XML文档的编程方法,包括创建XML文档、查询和编辑XML数据等为什么需要操作文件如何使得程序中的数据持久化?用数据库实现成本太大使用于大批量数据使用文件对数据进行持久化,用程序操作文件文件的应用场合计算机上有多种文件可以保存数据这些文件你都熟悉吧?如何读写文本文件读写一个文件的步骤:创建一个文件流创建相应的读写器(readerandwriter)执行读写操作关闭读写器(readerandwriter)关闭文件流12345将数据写入文本文件FileStreammyfs=newFileStream(path,FileMode.Create,FileAccess.Write);StreamWritermySw=newStreamWriter(myfs);mySw.Write(content);mySw.Close();myfs.Close();创建一个文件流创建写入器,写入一个流写入操作关闭文件流与写入器创建文件流FileStreammyfs=newFileStream(path,FileMode.Create);指定文件路径FileMode枚举Create:创建一个新文件Open:指定打开现有文件CreateNew:新建一个文件指定如何打开文件需要引入System.IO命名空间---提供文件操作的类文件流用于(FileStream类)读写文件如果文件存在、则改写旧文件如果文件存在会发生异常创建写入器文本文件写入器:StreamWriterStreamWritermySw=newStreamWriter(myfs);mySw.Write(content);//mySw.WriteLine(content);mySw.Close();传入文件流写入方法关闭写入器文本文件读取器:StreamReader写入一行数据的方法StreamReadermySr=newStreamReader(myfs);content=mySr.ReadToEnd();//content=mySr.ReadLine();mySr.Close();传入文件流读取到文件末尾读取一行关闭读取器读取文本文件读取文本文件:FileStreammyfs=newFileStream(path,FileMode.Open,FileAccess.Read);StreamReadermySr=newStreamReader(myfs);content=mySr.ReadToEnd();txtContent.Text=content;mySr.Close();myfs.Close();创建一个文件流创建一个读取器将流从当前位置读到末尾关闭文本文件不使用文件流的读写StreamWriter允许直接将字符串写入文件StreamWritermySw=newStreamWriter(path);mySw.Write(content);mySw.Close();直接指定路径StreamReader允许直接读取文件内容StreamReadermySr=newStreamReader(path);content=mySr.ReadToEnd();txtContent.Text=content;mySr.Close();直接指定路径自动创建文件读写二进制文件BinaryReader和BinaryWriter什么是序列化学生对象学号姓名存储介质存储序列化是将对象的状态存储到特定存储介质中的过程…性别使用序列化要存储的对象标记为可序列化,包括他的父类和属性的类fileStream=newFileStream(“student.dat,FileMode.Create);BinaryFormatterbf=newBinaryFormatter();bf.Serialize(fileStream,stu);[Serializable]pulicclassStudent使用二进制方式存储对象二进制格式化器将对象以二进制方式格式化为流Serialize(StreamserializationStream,Objectgraph)流对象Serialize的用法:序列化的过程格式化程序对象可否序列化子类成员可否序列化将对象格式化写入存储介质异常退出序列化对象中的子类成员YYNN反序列化把Student对象存储成文件,怎么取出来呢?读取反序列化则是从特定存储介质中的数据重新构建对象的过程存储介质student对象学号姓名…性别数据转换为对象使用反序列化将序列化好的Profile数据反序列化为对象fileStream=newFileStream(student.dat,FileMode.Open);BinaryFormatterbf=newBinaryFormatter();Profile=(Student)bf.Deserialize(fileStream);将指定流反序列化类型转换publicObjectDeserialize(StreamserializationStream)Deserialize的用法:流对象需要类型转换文件操作文件操作还包括拷贝、移动、删除等等.NET提供一个File类,提供各种操作文件方法删除指定的文件,如果指定的文件不存在,则不引发异常Delete(stringpath)将指定文件移动到一个新的路径Move(stringsourceFileName,stringdestFileName)按指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件Copy(stringSourceFilePath,stringDestinationFilePath用于检查指定文件是否存在,该方法返回一个布尔值Exists(stringpath)说明方法目录操作Directory类提供对文件夹的拷贝、移动、删除等操作删除指定的文件,如果指定的文件不存在,则不引发异常Delete(stringpath)删除指定目录,如果bool指定true,则删除子目录中的所有目录内容。Delete(string,Boolean)用于将文件或目录及其内容移到新位置Move(stringsourceDirName,stringdestDirName)用于检查指定文件夹在磁盘上是否存在Exists(stringpath)说明方法小结编写五个基本步骤语句1、创建一个文件流、指定路径与打开方式。2、创建一个读取器,指定读取的文件流3、读取文件中的所有内容4、关闭读取器5、关闭文件流XML概述可扩展标记性语言XML用于描述数据StudentName张靓靓/NameAge20/AgeHobby唱歌歌/Hobby!----Name周杰杰/NameAge22/AgeHobby耍双节棍棍/Hobby/Student描述的内容一目了然节点成对出现eXtensibleMarkupLanguage可自由扩展:加入性别或者身高…节点区分大小写XML描述学生信息?xmlversion=1.0encoding=utf8?学生列表!--这是根元素--学生类别=本科学号=40101姓名中文名=赵钦英文名=JohnZhao/性别女/性别电话13688186616/电话/学生学生类别=专科学号=30101姓名中文名=黄明奇英文名=JackHuang/性别男/性别电话13789176726/电话/学生学生类别=本科学号=40102姓名中文名=郑炯英文名=JuneZheng/性别男/性别电话13548132316/电话/学生/学生列表声明语句根元素子元素属性XML文档的创建使用XmlTextWriter生成XML文档XML文档的创建使用DOM生成XML文档文档对象模型DOMDOM的基本思想是先把XML文档加载到内存并转换一棵树,称之为DOM树。XML文档的查询用XmlTextReader查询AttributeCount返回当前节点上的属性数;HasAttributes指示当前节点是否有属性;Name返回当前节点的名称;NodeType返回当前节点的类型;Value返回当前节点的文本值。Close()关闭XML文档;Read()从流中读取下一个节点,如果节点存在返回true,否则返回false;GetAttribute()返回属性的值;IsStartElement()是否为元素的开始标记;ReadInnerXml()返回当前节点的所有内容。XML文档的编辑使用DOM技术来编辑XML数据28总结【重点】1、掌握文本文件或二进制文件读写方法。2、掌握序列化和反序列化的实现方法3、初步掌握操作XML文档的编程方法,包括创建XML文档、查询和编辑XML数据等【难点】1、序列化和反序列化的实现方法2、DOM技术在XML中的应用

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功