(8.1)--第7章文件操作-new

上传人:奉*** 文档编号:350036579 上传时间:2023-04-25 格式:PPT 页数:45 大小:1.64MB
返回 下载 相关 举报
(8.1)--第7章文件操作-new_第1页
第1页 / 共45页
(8.1)--第7章文件操作-new_第2页
第2页 / 共45页
(8.1)--第7章文件操作-new_第3页
第3页 / 共45页
(8.1)--第7章文件操作-new_第4页
第4页 / 共45页
(8.1)--第7章文件操作-new_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《(8.1)--第7章文件操作-new》由会员分享,可在线阅读,更多相关《(8.1)--第7章文件操作-new(45页珍藏版)》请在金锄头文库上搜索。

1、1C#程序设计语言程序设计语言2第七章第七章文件操作文件操作3第七章第七章文件操作文件操作01 文件概述文件概述02 IO及流及流03 文件及目录文件及目录04 文件内容处理文件内容处理05 读取读取GIS文件文件Shapefile06 C#语言新特性语言新特性文件类型01文件概述文件概述在计算机中,通常用在计算机中,通常用“文件文件”表示输入输出操作的对象,计算表示输入输出操作的对象,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合,文机文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文件、图片或者程序等等。件可以是文本文件、图片或者程序等等。文件是与软件研制、维护和使

2、用有关的资料,通常可以长久保文件是与软件研制、维护和使用有关的资料,通常可以长久保存。文件是软件的重要组成部分。在软件产品研制过程中,以存。文件是软件的重要组成部分。在软件产品研制过程中,以书面形式固定下来的用户需求、在研制周期中各阶段产生的规书面形式固定下来的用户需求、在研制周期中各阶段产生的规格说明、研究人员作出的决策及其依据、遗留问题和进一步改格说明、研究人员作出的决策及其依据、遗留问题和进一步改进的方向,以及最终产品的使用手册和操作说明等,都记录在进的方向,以及最终产品的使用手册和操作说明等,都记录在各种形式的文件档案中。各种形式的文件档案中。文件有很多分类的标准,根据文件的的存取方式

3、,可以分为文件有很多分类的标准,根据文件的的存取方式,可以分为顺顺序文件、随机文件和二进制文件序文件、随机文件和二进制文件。按文件的存取方式及结构,文件可以分为顺序文件和随机文件按文件的存取方式及结构,文件可以分为顺序文件和随机文件按文件数据的组织格式,文件可分为按文件数据的组织格式,文件可分为ASCII文件和二进制文件文件和二进制文件文件类型01文件概述文件概述顺序文件(顺序文件(SequentialFile)顺序文件是由一系列的顺序文件是由一系列的ASCII码格式的文本行组成的,每行的长度可以不同,码格式的文本行组成的,每行的长度可以不同,文件中的每个字符都表示一个文本字符或文本格式设置序

4、列(如换行符等)。文件中的每个字符都表示一个文本字符或文本格式设置序列(如换行符等)。顺序文件中的数据是按顺序排列的,数据的顺序与其在文件中出现的顺序相同。顺序文件中的数据是按顺序排列的,数据的顺序与其在文件中出现的顺序相同。顺序文件是最简单的文件结构,它实际上是普通的文本文件,任何文本编辑软顺序文件是最简单的文件结构,它实际上是普通的文本文件,任何文本编辑软件都可以访问这种文件。件都可以访问这种文件。随机文件(随机文件(RandomAccessFile)随机文件是以随机方式存取的文件,由一组长度相等的记录组成。在随机文随机文件是以随机方式存取的文件,由一组长度相等的记录组成。在随机文件中,记

5、录包含一个或多个字段(件中,记录包含一个或多个字段(Field),字段类型可以不同,每个字段的长),字段类型可以不同,每个字段的长度也是固定的,使用前须事先定好。此外,每个记录都有一个记录号,随机文度也是固定的,使用前须事先定好。此外,每个记录都有一个记录号,随机文件打开后,根据记录号访问文件中的任何记录,不需像顺序文件那样顺序进行。件打开后,根据记录号访问文件中的任何记录,不需像顺序文件那样顺序进行。二进制文件(二进制文件(BinaryFile)二进制文件是以二进制方式保存的文件。二进制文件可以存储任意类型的数据,除了二进制文件是以二进制方式保存的文件。二进制文件可以存储任意类型的数据,除了

6、不假定数据类型和记录长度外,二进制访问类似于随机访问,但是,必须准确地知道数不假定数据类型和记录长度外,二进制访问类似于随机访问,但是,必须准确地知道数据是如何写入文件的,才能正确地读取数据。例如,如果存储一系列姓名和分数,需要据是如何写入文件的,才能正确地读取数据。例如,如果存储一系列姓名和分数,需要记住第一个字段(姓名)是文本,第二个字段(分数)是数值,否则读出的内容就会出记住第一个字段(姓名)是文本,第二个字段(分数)是数值,否则读出的内容就会出错,因为不同的数据类型有不同的存储长度。错,因为不同的数据类型有不同的存储长度。文件属性01文件概述文件概述文件属性文件属性只读只读隐藏隐藏归档

7、归档访问方式访问方式读读写写读读/写写访问权限访问权限读读写写追加数据追加数据共享权限共享权限文件共享、文件不共享文件共享、文件不共享文件访问方式01文件概述文件概述在在C#中可以通过中可以通过.NET的的System.IO模型以流的方式对各种模型以流的方式对各种数据文件进行访问。数据文件进行访问。System.IO模型02IO及流及流System.IO模型提供了一个面向对象的方法来访问文件系统。模型提供了一个面向对象的方法来访问文件系统。System.IO模型提模型提供了很多针对文件、文件夹的操作功能,特别是以流(供了很多针对文件、文件夹的操作功能,特别是以流(Stream)的方式对各种)的

8、方式对各种数据进行访问,这种访问方式不但灵活,而且可以保证编程接口的统一。数据进行访问,这种访问方式不但灵活,而且可以保证编程接口的统一。System.IO模型的实现包含在模型的实现包含在System.IO命名空间中,该命名空间包含允许读写命名空间中,该命名空间包含允许读写文件和数据流的类型以及提供基本文件和文件夹支持的各种类。文件和数据流的类型以及提供基本文件和文件夹支持的各种类。也就是说,也就是说,System.IO模型是一个文件操作类库,包含的类可用于文件的创建、模型是一个文件操作类库,包含的类可用于文件的创建、读读/写、复制、移动和删除等操作。写、复制、移动和删除等操作。类类说说明明B

9、inaryReader用特定的编码将基元数据类型读作二进制值用特定的编码将基元数据类型读作二进制值BinaryWriter以二进制形式将基元类型写入流,并支持用特定的编码写入字符串以二进制形式将基元类型写入流,并支持用特定的编码写入字符串BufferedStream给另一流上的读写操作添加一个缓冲层。无法继承此类给另一流上的读写操作添加一个缓冲层。无法继承此类Directory公开用于创建、移动和枚举通过目录和子目录的静态方法。无法继承此类公开用于创建、移动和枚举通过目录和子目录的静态方法。无法继承此类DirectoryInfo公开用于创建、移动和枚举目录和子目录的实例方法。无法继承此类公开用

10、于创建、移动和枚举目录和子目录的实例方法。无法继承此类DriveInfo提供对有关驱动器的信息的访问提供对有关驱动器的信息的访问File提提供供用用于于创创建建、复复制制、删删除除、移移动动和和打打开开文文件件的的静静态态方方法法,并并协协助助创创建建FileStream对象对象表7.1System.IO命名空间中常用的类及其说明System.IO模型02IO及流及流FileInfo提提供供创创建建、复复制制、删删除除、移移动动和和打打开开文文件件的的实实例例方方法法,并并且且帮帮助助创创建建FileStream对象,无法继承此类对象,无法继承此类FileStream公开以文件为主的公开以文件

11、为主的Stream,既支持同步读写操作,也支持异步读写操作,既支持同步读写操作,也支持异步读写操作Path对对包包含含文文件件或或目目录录路路径径信信息息的的String实实例例执执行行操操作作。这这些些操操作作是是以以跨跨平平台台的的方方式式执行执行Stream提供字节序列的一般视图提供字节序列的一般视图StreamReader 实现一个实现一个TextReader,使其以一种特定的编码从字节流中读取字符,使其以一种特定的编码从字节流中读取字符StreamWriter实现一个实现一个TextWriter,使其以一种特定的编码向流中写入字符,使其以一种特定的编码向流中写入字符StringRea

12、der实现从字符串进行读取的实现从字符串进行读取的TextReaderStringWriter实实现现一一个个用用于于将将信信息息写写入入字字符符串串的的TextWriter。该该信信息息存存储储在在基基础础StringBuilder中。中。TextReader表示可读取连续字符系列的读取器。表示可读取连续字符系列的读取器。TextWriter表示可以编写一个有序字符系列的编写器。该类为抽象类表示可以编写一个有序字符系列的编写器。该类为抽象类文件编码02IO及流及流文件编码也称为字符编码,用于指定在处理文本时如何表示字符。一种编码可能优于另一种编码,主要取决于它能处理或不能处理哪些语言字符,不

13、过通常首选的是Unicode。编码编码说说明明ASCII获取获取ASCII(7位)字符集的编码位)字符集的编码Default获取系统的当前获取系统的当前ANSI代码页的编码代码页的编码Unicode获取使用获取使用Little-Endian字节顺序的字节顺序的UTF-16格式的编码格式的编码UTF32获取使用获取使用Little-Endian字节顺序的字节顺序的UTF-32格式的编码格式的编码UTF7获取获取UTF-7格式的编码格式的编码UTF8获取获取UTF-8格式的编码格式的编码表7.2文件编码类型及其说明C#的文件流02IO及流及流Windows文件系统和文件系统和Unix文件系统都是流

14、文件系统,简单的说就是将文件文件系统都是流文件系统,简单的说就是将文件处理为字符流或二进制流,所以对文件的读写就是读取字符流或二进制流,处理为字符流或二进制流,所以对文件的读写就是读取字符流或二进制流,在在.NETFramework中,对文件的读写操作非常简单,因为它使用读写中,对文件的读写操作非常简单,因为它使用读写I/O数据的通用模型,无论数据源是什么,都可以使用相同的代码。该模型的数据的通用模型,无论数据源是什么,都可以使用相同的代码。该模型的核心是核心是Stream类和类和Reader/Writer类。类。Stream类类按存取位置分按存取位置分FileStream,MemoryStr

15、eam,BufferedStream读写类读写类BinaryReader和和BinaryWriterTextReader和和TextWriterlStreamReader和StreamWriterlStringReader和StringWriter其关系其关系FileStreamfs=newFileStream(c:tempfoo.txt,FileMode.Create);StreamWriterwriter=newStreamWriter(fs);C#的文件流02IO及流及流文件及文件夹管理03文件及目录文件及目录对文件和文件夹操作的类对文件和文件夹操作的类FileInfo(具体的文件具体的

16、文件)File(提供提供static方法方法)DirectoryInfo(具体的文件夹具体的文件夹)Directory(提供提供static方法方法)FileSystemInfol是 FileInfo及DirectoryInfo的父类Path(文件路径类文件路径类)显示文件及文件夹的信息显示文件及文件夹的信息使用使用FileInfo对象,就可以获取文件大小等各种信息对象,就可以获取文件大小等各种信息使用使用DirectoryInfo对象,就可以获取文件夹大小等各种信息对象,就可以获取文件夹大小等各种信息File类和FileInfo类03文件及目录文件及目录File类类File类支持对文件的基本操作,包括提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建FileStream对象。由于所有的File类的方法都是静态的,所以如果只想执行一个操作,那么使用File方法的效率比使用相应的FileInfo实例方法可能更高。方法方法说明明Create在指定路径中创建文件Copy将现有文件复制到新文件Exists确定指定的文件是否存在GetCreationTime返回指定文件或目录的创建日

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号