C#程序设计及应用教程 第3版 “十二五”普通高等教育本科国家级规划教材 教学课件 ppt 作者 马骏 第6章 目录与文件操作

上传人:E**** 文档编号:89343212 上传时间:2019-05-23 格式:PPT 页数:28 大小:332KB
返回 下载 相关 举报
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第6章 目录与文件操作_第1页
第1页 / 共28页
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第6章 目录与文件操作_第2页
第2页 / 共28页
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第6章 目录与文件操作_第3页
第3页 / 共28页
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第6章 目录与文件操作_第4页
第4页 / 共28页
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第6章 目录与文件操作_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《C#程序设计及应用教程 第3版 “十二五”普通高等教育本科国家级规划教材 教学课件 ppt 作者 马骏 第6章 目录与文件操作》由会员分享,可在线阅读,更多相关《C#程序设计及应用教程 第3版 “十二五”普通高等教育本科国家级规划教材 教学课件 ppt 作者 马骏 第6章 目录与文件操作(28页珍藏版)》请在金锄头文库上搜索。

1、教育部普通高等教育十二五国家级规划教材 C#程序设计及应用教程第3版 (包括简化版:C#程序设计教程第3版) 第6章目录与文件操作,2,Ch6 目录与文件操作,6.1 目录和文件管理 6.2 文件的读写 6.3 LINQ to XML,3,6.1 目录和文件管理,6.1.1 Environment类和DriveInfo类 6.1.2 Path类 6.1.3 目录管理 6.1.4 文件管理,4,6.1.1 Environment类和DriveInfo类,.NET框架下,与操作系统环境相关类主要有2个: Environment类 该类除了提供当前环境和操作系统平台相关的信息外,还提供获取本地逻辑驱

2、动器和特殊文件夹的方法。 DriveInfo类 提供本地驱动器相关的详细信息。,Environment类 使用Environment类可检索与操作系统相关的信息 常用的属性和方法 CurrentDirectory属性 OSVersion属性 NewLine属性 Version属性 GetLogicalDrives方法 GetFolderPath方法 【例6-1】演示Environment类的基本用法。,6.1.1 Environment类和DriveInfo类,2. DriveInfo类 使用DriveInfo可以确定当前可用的驱动器以及这些驱动器的类型,还可以通过查询来确定驱动器的容量和剩余

3、空间。 DriveInfo allDrives = DriveInfo.GetDrives( ); foreach (DriveInfo d in allDrives) Console.WriteLine(“Drive 0“, d.Name); Console.WriteLine(“文件类型: 0“, d.DriveType); if (d.IsReady = true) Console.WriteLine(“卷标: 0“, d.VolumeLabel); Console.WriteLine(“文件系统: 0“, d.DriveFormat); Console.WriteLine(“当前用户可

4、用空间:0 bytes“, d.AvailableFreeSpace); Console.WriteLine(“总可用空间:0 bytes“, d.TotalFreeSpace); Console.WriteLine(“驱动器总容量:0 bytes “, d.TotalSize); ,6.1.1 Environment类和DriveInfo类,6.1.2 Path类,Path类用于对包含文件或目录路径信息的String实例执行操作 常用方法: GetDirectoryName方法 GetExtension方法 GetFileName方法 GetFileNameWithoutExtension方

5、法 GetFullPath方法,7,8,6.1.3 目录管理,Directory类和DirectoryInfo类均可用于对磁盘和目录进行管理,如复制、移动、重命名、创建、删除目录等。 两个类的不同点在于DirectoryInfo类提供了更详细的更能,而且必须被实例化后才能使用,而Directory类则只提供了常用的静态方法。 最常用的是Directory类。,Directory类提供的静态方法 CreateDirectory:创建指定路径中的所有目录 Delete:删除指定的目录 Move:将文件或目录及其内容移到新位置 Exists:确定给定路径是否引用磁盘上的现有目录 GetCurrent

6、Directory:获取应用程序的当前工作目录,6.1.3 目录管理(续),1、创建目录 Directory类的CreateDirectory方法用于创建指定路径中的所有目录。方法原型为: public static DirectoryInfo CreateDirectory (string path) 其中参数path为要创建的目录路径。 举例: Directory.CreateDirectory(“c:test“); Directory.CreateDirectory(“c:testt1t2“);,6.1.3 目录管理(续),删除目录 Directory类的Delete方法用于删除指定的目

7、录,常用的方法原型为: public static void Delete(string path, bool recursive) 其中,path参数不区分大小写,可以是相对于当前工作目录的相对路径,也可以是绝对路径。 recursive是一个布尔值,如果要移除path中的目录(包括所有子目录和文件),则为true;否则为false。,6.1.3 目录管理(续),3.移动目录 Directory类的Move方法能够重命名或移动目录。方法原型为: public static void Move (string sourceDirName, string destDirName) 其中,sour

8、ceDirName为要移动的文件或目录的路径;destDirName为新位置的目标路径。 注意: destDirName参数指定的目标路径应为新目录。,6.1.3 目录管理(续),13,6.1.4 文件管理,System.IO命名空间中文件操作类: (1)File (2)FileInfo 相同点:都能完成对文件的复制、移动、重命名、创建、打开、删除和追加到文件操作。 不同点:FileInfo类提供实例化后的属性、方法 File 只提供静态方法 用法与Directory和DirectoryInfo相似。,14,6.1.4 文件管理(续),判断文件是否存在 调用File类的Exists方法可以判断

9、是否存在指定的文件。 复制文件 File类的Copy方法用于将现有文件复制到新文件。方法原型为:public static void Copy (string sourceFileName, string destFileName, bool overwrite) 其中,参数sourceFileName为被复制的文件;destFileName为目标文件的名称;overwrite表示是否可以覆盖目标文件,如果可以覆盖目标文件,则为true,否则为false。,15,6.1.4 文件管理(续),删除文件 File类的Delete方法用于删除指定的文件。方法原型为:public static voi

10、d Delete (string path) 其中,参数path为要删除的带完整路径的文件名称。 移动文件 File类的Move方法用于将指定文件移到新位置,并提供指定新文件名的选项。方法原型为:public static void Move (string sourceFileName, string destFileName) 其中,参数sourceFileName为要移动的文件名称,destFileName为文件的新路径。,16,6.1.4 文件管理(续),获取或设置文件属性 File类提供了SetAttributes方法和GetAttributes方法。用来获取或设置文件的各种属性。方

11、法原型为 public static void SetAttributes(string path, FileAttributes fileAttributes) public static FileAttributes GetAttributes(string path) 在SetAttributes方法中,使用FileAttributes枚举来获取或设置目录或文件的属性,程序中可以利用“与”、“或”操作设置或获取单个属性。,17,6.1.4 文件管理(续),获取或设置文件属性判断某个路径是目录还是文件 下面的代码演示了如何判断某个路径是目录还是文件: if (File.GetAttribu

12、tes(path) ,在System.IO命名空间中,提供了多种类用于进行数据文件和数据流的读写操作。 主要有: 1. 文件编码,提供了多种编码。 2. 文本文件的读写。 3. 二进制文件的读写。,6.2 文件的读写,1.文件编码 常见的文件编码方式有ASCII编码、Unicode编码、UTF8编码和ANSI编码。 2.在System.Text命名空间中,有一个Encoding类,用于表示字符编码。对文件进行操作时,常用的编码方式有 Encoding.Default 表示操作系统的当前ANSI编码 Encoding.Unicode Unicode编码 Encoding.UTF8 UTF8编码

13、3.在文件处理中,打开文件时指定的编码格式一定要和保存文件时所用的编码格式一致,否则看到的可能就是一堆乱码。,6.2.1 文件编码,6.2.2 文本文件的读写,File类提供了非常方便的读写文本文件的方法。 1ReadAllText方法和AppendAllText方法 ReadAllText方法打开一个文件,读取文件的每一行,将每一行添加为字符串的一个元素。然后关闭文件。 常用原型为 public static string ReadAllText(string path, Encoding encoding) AppendAllText方法用于将指定的字符串追加到文件中,如果文件不存在则自动

14、创建该文件,常用原型为 public static void AppendAllText(string path, string contents, Encoding encoding),2、ReadAllLines方法和WriteAllLines方法 ReadAllLines方法打开一个文本文件,将文件的所有行都读入一个字符串数组,然后关闭该文件。 WriteAllLines方法创建一个新文件,在其中写入指定的字符串数组,然后关闭文件。如果目标文件已存在,则覆盖该文件,6.2.2 文本文件的读写(续),流是字节序列的抽象概念。流也是进行数据读取操作的基本对象,流提供了连续的字节流存储空间。

15、流有如下几种操作 读取:从流中读取数据到变量中。 写入:把变量中的数据写入到流中。 定位:重新设置流的当前位置,以便随机读写。,6.2.3 StreamReader类和StreamWriter类,StreamReader类提供了利用流来按行读取文本文件信息的方法。如果不指定编码,StreamReader的默认编码为UTF-8,而不是当前系统的ANSI编码。 StreamWriter类提供了按行写入文本信息的方法。与StreamReader类似,如果不指定编码,StreamWriter默认使用UTF-8编码,而不是当前系统的ANSI编码。 除了对文本文件进行操作外,还可以利用流对其他类型的文件进

16、行操作。可以使用File类的Open方法先创建一个FileStream对象,然后使用FileStream对象对文件进行读取、写入、打开和关闭操作。,6.2.3 StreamReader类和StreamWriter类(续),6.2.4 二进制文件的读写,System.IO还提供了BinaryReader和BinaryWriter类,用于按二进制模式读写文件。它们提供的一些读写方法是对称的,如针对不同的数据结构,BinaryReader提供了ReadByte、ReadBoolean、ReadInt、ReadInt16、ReadDouble和ReadString等多种重载的方法,以便读取不同类型的数据;而BinaryWriter则提供了与BinaryReader对应的多种重载的Write方法,用来写入不同类型的数据。 【例6-2】将内存中随机产生的二进制数据写入文件,并验证写入结果是否正确。,25,6.3 LINQ to XML,XML是一种应用非常广泛的格式化的文本数据表示。利用C#提供的LINQ t

展开阅读全文
相关资源
相关搜索

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

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