C#程序设计及应用教程(WHUT课件)第7章 目录与文件管理.ppt
《C#程序设计及应用教程(WHUT课件)第7章 目录与文件管理.ppt》由会员分享,可在线阅读,更多相关《C#程序设计及应用教程(WHUT课件)第7章 目录与文件管理.ppt(48页珍藏版)》请在沃文网上搜索。
1、1 1第第7 7章章 目录与文件管理目录与文件管理7.1 7.1 系统环境相关类系统环境相关类7.2 7.2 目录管理目录管理7.3 7.3 文件管理文件管理7.4 7.4 文件的读写文件的读写7.5 7.5 FileSystemWatcherFileSystemWatcher组件组件2 27.1 7.1 系统环境相关类系统环境相关类.NET.NET框架下,有与系统环境相关类。框架下,有与系统环境相关类。1.1.EnvironmentEnvironment类类 该类除了提供当前环境和操作系统平台相关该类除了提供当前环境和操作系统平台相关的信息外,还提供了获取本地逻辑驱动器和的信息外,还提供了获
2、取本地逻辑驱动器和特殊文件夹的方法。特殊文件夹的方法。2.2.DriveInfoDriveInfo类类 提供了本地驱动器相关的详细信息。提供了本地驱动器相关的详细信息。3 37.1.1 7.1.1 EnvironmentEnvironment类类1.常用的属性和方法常用的属性和方法u CurrentDirectory属性:当前工作目属性:当前工作目录的完全限定路径的完全限定路径u OSVersion属性:属性:获取包含当前平台取包含当前平台标识符和版本号的符和版本号的 OS对象。象。u NewLine属性:属性:获取取为此此环境定境定义的的换行字符串行字符串u Version属性:公共属性:公
3、共语言运行言运行时的版本号。的版本号。u GetLogicalDrives方法:返回包含当前方法:返回包含当前计算机中的算机中的逻辑驱动器名称的字符串数器名称的字符串数组。u GetFolderPath方法:方法:获取由指定枚取由指定枚举标识的系的系统特殊文件特殊文件夹的路径。的路径。4 4Console.WriteLine(CurrentDirectory:0,Environment.CurrentDirectory);Console.WriteLine(MachineName:0,Environment.MachineName);Console.WriteLine(NewLine:0 fi
4、rst line0 second line0 third line,Environment.NewLine);Console.WriteLine(OSVersion:0,Environment.OSVersion.ToString();5 57.1.2 DriveInfo7.1.2 DriveInfo类类使用使用DriveInfo可以确定当前可用的可以确定当前可用的驱动器以及器以及这些些驱动器的器的类型,型,还可以通可以通过查询来确定来确定驱动器的容量和剩余空器的容量和剩余空间。常常见属性和方法:属性和方法:AvailableFreeSpace 指示指示驱动器上的可用空器上的可用空闲空空间量。
5、量。DriveFormat 获取文件系取文件系统的名称,例如的名称,例如 NTFS 或或 FAT32。DriveType 获取取驱动器器类型。型。IsReady 获取一个指示取一个指示驱动器是否已准器是否已准备好的好的值。Name 获取取驱动器的名称。器的名称。RootDirectory 获取取驱动器的根目器的根目录。TotalFreeSpace 获取取驱动器上的可用空器上的可用空闲空空间总量。量。TotalSize 获取取驱动器上存器上存储空空间的的总大小。大小。VolumeLabel 获取或取或设置置驱动器的卷器的卷标。GetDrives方法方法检索索计算机上的所有算机上的所有逻辑驱动器的
6、器的驱动器名称。器名称。ToString方法方法将将驱动器名称作器名称作为字符串返回。字符串返回。6 67.1.2 DriveInfo7.1.2 DriveInfo类类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.W
7、riteLine(文件系文件系统:0,d.DriveFormat);Console.WriteLine(当前用当前用户可用空可用空间:0 bytes,d.AvailableFreeSpace);Console.WriteLine(总可用空可用空间:0 bytes,d.TotalFreeSpace);Console.WriteLine(驱动器器总容量容量:0 bytes,d.TotalSize);7 77.2 7.2 目录管理目录管理在在System.IO命名空命名空间中,中,.NET框架提供了框架提供了3种种对目目录进行管理的行管理的类,分,分别是是Directory类、DirectoryIn
8、fo类和和Path类。1.Directory类和和DirectoryInfo类区区别:Directory类(只提供(只提供静静态方法方法)DirectoryInfo类(需要(需要实例化例化才能使用)才能使用)(1)Directory类提供的静提供的静态方法方法CreateDirectory(String):在指定路径:在指定路径创建所有目建所有目录和子目和子目录。Delete(String)从指定路径从指定路径删除空目除空目录。Move:将文件或目:将文件或目录及其内容移到新位置。及其内容移到新位置。Exists:确定:确定给定路径是否引用磁定路径是否引用磁盘上的上的现有目有目录。GetCur
9、rentDirectory:获取取应用程序的当前工作目用程序的当前工作目录。GetLogicalDrives:检索此索此计算机上格式算机上格式为“:”的的逻辑驱动器的名称。器的名称。8 87.2 7.2 目录管理目录管理(2)DirectoryInfo类DirectoryInfo类的的构造函数构造函数形式如下:形式如下:public DirectoryInfo(string path);参数参数path表示目表示目录所在的路径。所在的路径。例如:例如:DirectoryInfo dirInfo=new DirectoryInfo(e:temp);注意注意:(:(1)path是合法的路径。是合法
10、的路径。(2)用用System.Environment.SpecialFolder下的枚下的枚举可以可以获取特殊文件取特殊文件夹路径:路径:例如例如ApplicationData目目录,它用作当前漫游用,它用作当前漫游用户的的应用程序特定数据的公共用程序特定数据的公共储存存库CommonApplicationData目目录,它用作所有用,它用作所有用户使用的使用的应用程序特定数据的公共用程序特定数据的公共储存存库。CommonProgramFiles用于用于应用程序用程序间共享的共享的组件的目件的目录。MyComputer“我的我的电脑”文件文件夹。ProgramFiles“Program f
11、iles”目目录。9 97.2 7.2 目录管理目录管理DirectoryInfo类的主要属性和方法的主要属性和方法Attributes 设置当前置当前 FileSystemInfo 的的 FileAttributesCreationTime 设置当前置当前 FileSystemInfo 对象的象的创建建时间Exists获取指示目取指示目录是否存在的是否存在的值FullName 获取目取目录或文件的完整目或文件的完整目录Parent获取指定子目取指定子目录的父目的父目录Name获取此取此 DirectoryInfo 实例的名称例的名称1010例如,在例如,在D盘下下创建名建名为AA的文件的文件
12、夹,首先要将,首先要将DirectoryInfo类实例化,然后判断是否存在同名的文件例化,然后判断是否存在同名的文件夹,如果不存在,如果不存在,则使使用用Create方法方法创建目建目录。代。代码如下所示:如下所示:string path=D:AA;DirectoryInfo di=new DirectoryInfo(path);if(!di.Exists)di.Create();else Messagebox.Show(此文件此文件夹已已经存在!存在!);11117.2.2 Path7.2.2 Path类类1.Path类:对包含文件或目包含文件或目录路径信息的路径信息的String实例例执行
13、操作。行操作。2.常用方法:常用方法:GetDirectoryName方方法:返回指定路径字符串的目法:返回指定路径字符串的目录信息。信息。GetExtension方方法:返回指定的路径字符串的法:返回指定的路径字符串的扩展名。展名。GetFileName方方法:返回指定路径字符串的文件名和法:返回指定路径字符串的文件名和扩展名。展名。GetFileNameWithoutExtension方方法:返回不具有法:返回不具有扩展名的指定路径字符串的文展名的指定路径字符串的文件名。件名。GetFullPath方方法:返回指定路径字符串的法:返回指定路径字符串的绝对路径路径。在接受路径的成在接受路径的
14、成员中,路径可以是指文件或中,路径可以是指文件或仅是目是目录。指定路径也可以是相指定路径也可以是相对路径或者服路径或者服务器和共享名称的器和共享名称的统一命名一命名约定定(UNC)路径。路径。例如,以下都是可接受的路径例如,以下都是可接受的路径:C#中的中的“c:MyDirMyFile.txt”C#中的中的“c:MyDir”C#中的中的“MyDirMySubdir”C#中中的的MyServerMyShare另另外,在外,在C#中中“/”“”是是特殊字符,要表示它的特殊字符,要表示它的话需要使需要使用用“/”、“”。由于由于这种写法不方便,种写法不方便,C#语言提供了言提供了对其其简化。只要在字
15、符串前加化。只要在字符串前加上上即可直接使用即可直接使用“/”“”。1212 string path1=c:tempMyTest.txt;string path2=c:tempMyTest;string path3=temp;if(Path.HasExtension(path1)Console.WriteLine(0 has an extension.,path1);if(!Path.HasExtension(path2)Console.WriteLine(0 has no extension.,path2);if(!Path.IsPathRooted(path3)Console.WriteL
16、ine(The string 0 contains no root information.,path3);Console.WriteLine(The full path of 0 is 1.,path3,Path.GetFullPath(path3);Console.WriteLine(0 is the location for temporary files.,Path.GetTempPath();Console.WriteLine(0 is a file available for use.,Path.GetTempFileName();13137.2.3 7.2.3 目录的创建、删除和
17、移动目录的创建、删除和移动1.1.创建目录创建目录DirectoryDirectory类的类的CreateDirectoryCreateDirectory方法用于创建指定路径中的所方法用于创建指定路径中的所有目录。有目录。public static DirectoryInfo CreateDirectory(string public static DirectoryInfo CreateDirectory(string pathpath)其中参数其中参数pathpath为要创建的目录路径。为要创建的目录路径。举例:举例:Directory.CreateDirectory(c:test);Di
18、rectory.CreateDirectory(c:test);Directory.CreateDirectory(Directory.CreateDirectory(“c:testt1t2c:testt1t2”););/创建了创建了testtest、t1t1、t2t2三个目录三个目录14147.2.3 7.2.3 目录的创建、删除和移动目录的创建、删除和移动2.2.删除目录删除目录DirectoryDirectory类的类的DeleteDelete方法用于删除指定的目录,常用的方法原型为方法用于删除指定的目录,常用的方法原型为public static void Deletepublic s
19、tatic void Delete(string path,bool recursivestring path,bool recursive)其中:其中:pathpath参数不区分大小写,可以是相对于当前工作目录的相参数不区分大小写,可以是相对于当前工作目录的相对路径,也可以是绝对路径。对路径,也可以是绝对路径。RecursiveRecursive(rkrsv,递归,递推)是一个布尔值,如果要)是一个布尔值,如果要移除移除pathpath中的目录(包括所有子目录和文件),则为中的目录(包括所有子目录和文件),则为truetrue;否则为;否则为falsefalse。15157.2.3 7.2.
20、3 目录的创建、删除和移动目录的创建、删除和移动3.3.移动目录移动目录DirectoryDirectory类的类的MoveMove方法能够重命名或移动目录。方法原型为方法能够重命名或移动目录。方法原型为public static void Move(string sourceDirName,string public static void Move(string sourceDirName,string destDirName)destDirName)其中:其中:sourceDirNamesourceDirName为要移动的文件或目录的路径;为要移动的文件或目录的路径;destDirNam
21、edestDirName为新位置的目标路径。为新位置的目标路径。注意:注意:destDirNamedestDirName参数指定的目标路径应为新目录参数指定的目标路径应为新目录。16167.2.4 FolderBrowserDialog7.2.4 FolderBrowserDialog对话框对话框FolderBrowserDialogFolderBrowserDialog对话框对话框以树形控件的以树形控件的形式将指定路径的文件夹及其子文件夹形式将指定路径的文件夹及其子文件夹显示出来,供用户浏览、创建或选择。显示出来,供用户浏览、创建或选择。FolderBrowserDialogFolderBr
22、owserDialog类也是类也是CommonDialogCommonDialog类的一个派生类。类的一个派生类。调用调用FolderBrowserDialogFolderBrowserDialog的的ShowDialogShowDialog方方法,可以打开对话框,如果用户在对话法,可以打开对话框,如果用户在对话框中单击框中单击【确定确定】按钮,则对话框返回按钮,则对话框返回结果为结果为DialogResult.OKDialogResult.OK,否则为,否则为DialogResult.CancelDialogResult.Cancel。17177.2.4 FolderBrowserDialo
23、g7.2.4 FolderBrowserDialog控件控件3.FolderBrowserDialog控件的主要属性控件的主要属性:属性名属性名含义含义DescriptionDescription获取或设置对话框中在树视图控件上显示的说明文获取或设置对话框中在树视图控件上显示的说明文本本RootFolderRootFolder获取或设置从其开始浏览的根文件夹获取或设置从其开始浏览的根文件夹SelectedPathSelectedPath获取或设置用户选定的路径获取或设置用户选定的路径1818private void button1_Click(object sender,EventArgs e
24、)FolderBrowserDialog fbd=new FolderBrowserDialog();fbd.Description=选择文件夹;fbd.RootFolder=Environment.SpecialFolder.MyDocuments;fbd.ShowNewFolderButton=true;if(fbd.ShowDialog()!=DialogResult.OK)return;string path=fbd.SelectedPath;messagebox.Show(path.ToString();19197.3 7.3 文件管理文件管理“文件文件”一般是指存一般是指存储在外部
25、介在外部介质上数据的集合上数据的集合.C#使用使用System.IO命名空命名空间中的下两个中的下两个类对文件文件进行操作行操作:(1)File类(2)FileInfo类 相同点相同点:都能完成:都能完成对文件的复制、移文件的复制、移动、重命名、重命名、创建、打建、打开、开、删除和追加到文件操作。除和追加到文件操作。不同点不同点:FileInfo类提供提供实例化后的属性、方法例化后的属性、方法File 只提供静只提供静态方法方法用法与用法与Directory和和DirectoryInfo相似。相似。20207.3.1 7.3.1 文件复制、删除与移动文件复制、删除与移动1.File类(1)判断
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#程序设计及应用教程WHUT课件第7章 目录与文件管理 C# 程序设计 应用 教程 WHUT 课件 目录 文件 管理