软件开发基础(.NET)第5讲_第1页
软件开发基础(.NET)第5讲_第2页
软件开发基础(.NET)第5讲_第3页
软件开发基础(.NET)第5讲_第4页
软件开发基础(.NET)第5讲_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

软件开发基础(.NET)主讲:邝颖杰

电邮:kuangyingjie@163.com0、本章掌握内容系统环境相关类的使用目录的操作几个对话框的使用文件的创建、读写目录与文件管理系统环境相关类目录管理文件管理文件的读写FileSystemWatcher组件1、系统环境相关类.NET框架下,有与系统环境相关类。1.Environment类该类除了提供当前环境和操作系统平台相关的信息外,还提供了获取本地逻辑驱动器和特殊文件夹的方法。2.DriveInfo类提供了本地驱动器相关的详细信息。1)Environment类1.常用的属性和方法CurrentDirectory属性OSVersion属性NewLine属性Version属性GetLogicalDrives方法GetFolderPath方法2)DriveInfo类使用DriveInfo可以确定当前可用的驱动器以及这些驱动器的类型,还可以通过查询来确定驱动器的容量和剩余空间。DriveInfo[]allDrives=DriveInfo.GetDrives();foreach(DriveInfodinallDrives){

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("当前用户可用空间:{0}bytes",d.AvailableFreeSpace);

Console.WriteLine("总可用空间:{0}bytes",d.TotalFreeSpace);

Console.WriteLine("驱动器总容量:{0}bytes",d.TotalSize);}}2、目录管理在System.IO命名空间中,.NET框架提供了3种对目录进行管理的类,分别是Directory类DirectoryInfo类Path类1.Directory类和DirectoryInfo类区别:Directory类(只提供静态方法)DirectoryInfo类(需要实例化才能使用)DirectoryInfo类的构造函数形式如下:

publicDirectoryInfo(stringpath);

参数path表示目录所在的路径。例如:

DirectoryInfo

dirInfo=newDirectoryInfo(@"e:\temp");注意:(1)path是合法的路径。

(2)用System.Environment.SpecialFolder下的枚举可以获取特殊文件夹路径。7.2目录管理2.DirectoryInfo类的主要属性ExistsFullNameParentCreationTime3.Directory类提供的静态方法CreateDirectoryDeleteMoveExistsGetCurrentDirectory2)Path类1.Path类用于对包含文件或目录路径信息的String实例执行操作。2.常用方法:GetDirectoryName方法GetExtension方法GetFileName方法GetFileNameWithoutExtension方法GetFullPath方法1.创建目录Directory类的CreateDirectory方法用于创建指定路径中的所有目录。publicstaticDirectoryInfo

CreateDirectory(stringpath)其中参数path为要创建的目录路径。举例:Directory.CreateDirectory("c:\\test");Directory.CreateDirectory("c:\\test\\t1\\t2");3)目录的创建、删除和移动2.删除目录Directory类的Delete方法用于删除指定的目录,常用的方法原型为publicstaticvoidDelete(stringpath,boolrecursive)其中:path参数不区分大小写,可以是相对于当前工作目录的相对路径,也可以是绝对路径。recursive是一个布尔值,如果要移除path中的目录(包括所有子目录和文件),则为true;否则为false。3)目录的创建、删除和移动3.移动目录Directory类的Move方法能够重命名或移动目录。方法原型为publicstaticvoidMove(stringsourceDirName,stringdestDirName)其中,sourceDirName为要移动的文件或目录的路径;destDirName为新位置的目标路径。注意:

destDirName参数指定的目标路径应为新目录。3)目录的创建、删除和移动FolderBrowserDialog对话框以树形控件的形式将指定路径的文件夹及其子文件夹显示出来,供用户浏览、创建或选择。调用FolderBrowserDialog的ShowDialog方法,可以打开对话框,如果用户在对话框中单击【确定】按钮,则对话框返回结果为DialogResult.OK,否则为DialogResult.Cancel。4)FolderBrowserDialog对话框7.2.4FolderBrowserDialog控件3.FolderBrowserDialog控件的主要属性:属性名含义Description获取或设置对话框中在树视图控件上显示的说明文本RootFolder获取或设置从其开始浏览的根文件夹SelectedPath获取或设置用户选定的路径3、文件管理

System.IO命名空间中文件操作类:(1)File(2)FileInfo

相同点:都能完成对文件的复制、移动、重命名、创建、打开、删除和追加到文件操作。

不同点:FileInfo类提供实例化后的属性、方法

File只提供静态方法用法与Directory和DirectoryInfo相似。1)文件复制、删除与移动File类

(1)判断文件是否存在调用File类的Exist方法可以判断是否存在指定的文件。

(2)复制文件

Copy(sourceFileName,destFileName,booloverwrite)(2)删除文件

Delete(stringpath)(3)移动文件

Move(sourceFileName,destFileName)

注意:Move方法不提供创建目录的功能,要确保存在目标文件目录。2)文件属性1.设置或获取属性

(1)对File类:用SetAttributes方法,GetAttributes方法设置、获取。

(2)对FileInfo类:用Attributes属性设置、获取。

(3)注意:

FileAttributes的每个枚举值代表目录或者文件的一个属性,各个枚举值是按照2的幂排列的,即依次为20,21,22,23

,……2.可以利用“与”、“或”操作设置或获取单个属性。2)文件属性与设置2.判断某个路径是目录还是文件下面的代码演示了如何判断某个路径是目录还是文件:if((File.GetAttributes(path)&FileAttributes.Directory)==FileAttributes.Directory){Console.WriteLine("“{0}”是目录",path);}else{Console.WriteLine("“{0}”是文件",path);}4)OpenFileDialog控件和SaveFileDialog1.功能:用于显示用户打开文件的对话框。2.常用属性:属性名说明ShowReadOnly确定是否在对话框中显示只读复选框ReadOnlyChecked指示是否选中只读复选框MultiSelect指示对话框是否允许选择多个文件FileName获取或设置一个包含在文件对话框中选定的文件名的字符串Filter获取或设置当前文件名筛选器字符串3.常用方法:ShowDialog()4)OpenFileDialog控件和SaveFileDialog1.SaveFileDialog用于显示保存文件对话框,提示用户选择文件的保存位置。2.调用SaveFileDialog的ShowDialog方法,将打开【另存为】对话框,如果用户在对话框中单击【保存】按钮,则保存该文件,并返回DialogResult.OK,否则返回DialogResult.Cancel。【例1】利用FolderBrowerDialog、OpenFileDialog和SaveFileDialog对话框,设计一个Windows应用程序,实现将文件从一个目录复制到另一个目录的功能。对话框控件综合举例4、文件的读写在System.IO命名空间中,提供了多种类用于进行数据文件和数据流的读写操作。主要有:

1.文件编码,提供了多种编码。

2.文本文件的读写。

3.二进制文件的读写。1.文件编码常见的文件编码方式有ASCII编码、Unicode编码、UTF8编码和ANSI编码。2.在System.Text命名空间中,有一个Encoding类,用于表示字符编码。对文件进行操作时,常用的编码方式有Encoding.Default

表示操作系统的当前ANSI编码Encoding.Unicode Unicode编码Encoding.UTF8 UTF8编码1)文件的编码2)文本文件的读写File类提供了非常方便的读写文本文件的方法。1.ReadAllText方法和AppendAllText方法

ReadAllText方法打开一个文件,读取文件的每一行,将每一行添加为字符串的一个元素。然后关闭文件。常用原型为

publicstaticstringReadAllText(stringpath,Encodingencoding)AppendAllText方法用于将指定的字符串追加到文件中,如果文件不存在则自动创建该文件,常用原型为

publicstaticvoidAppendAllText(stringpath,stringcontents,Encodingencoding)2)文本文件的读写2、ReadAllLines方法和WriteAllLines方法ReadAllLines方法打开一个文本文件,将文件的所有行都读入一个字符串数组,然后关闭该文件。WriteAllLines方法创建一个新文件,在其中写入指定的字符串数组,然后关闭文件。如果目标文件已存在,则覆盖该文件2)文本文件的读写3.StreamReader类和StreamWriter类流是字节序列的抽象概念。流也是进行数据读取操作的基本对象,流提供了连续的字节流存储空间。流有如下几种操作。读取:从流中读取数据到变量中。写入:把变量中的数据写入到流中。定位:重新设置流的当前位置,以便随机读写2)文本

温馨提示

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

评论

0/150

提交评论