C#程序设计 第9章文件
C# 程序设计 第9章 文件
基本内容 磁盘操作 目录操作 文件操作 流
基本内容 磁盘操作 流 目录操作 文件操作
本章目标 ■了解System.IO命名空间中的常用类 掌握File类和Directory:类的使用 ■掌握Filelnfo类和DirectoryInfo类的使用 ■掌握文件的基本操作 ■掌握目录的基本操作 ■了解流操作类 ■掌握文件流类的使用 ■掌握如何对文本文件进行写入与读取
本章目标 ▪ 了解System.IO命名空间中的常用类 ▪ 掌握File类和Directory类的使用 ▪ 掌握FileInfo类和DirectoryInfo类的使用 ▪ 掌握文件的基本操作 ▪ 掌握目录的基本操作 ▪ 了解流操作类 ▪ 掌握文件流类的使用 ▪ 掌握如何对文本文件进行写入与读取
课堂讨论 ■什么是文件?什么是流? 一文件可以看作是数据的集合,一般保存在磁盘或其 他存储介质上。 一流提供一种向后备存储写入字节和从后备存储读取 字的方式。 打开、读取、写入、改变当前位置、关闭
课堂讨论 ▪ 什么是文件?什么是流? -文件可以看作是数据的集合,一般保存在磁盘或其 他存储介质上。 -流提供一种向后备存储写入字节和从后备存储读取 字节的方式。 打开、读取、写入、改变当前位置、关闭
磁盘的基本操作 Drivelnfo类提供方法和属性以查询驱动器信息。 ■使用Drivelnfo类可以确定可用的驱动器及其类型; 确定驱动 器的容量和可用空闲空间等 DriveInfo[]allDrives DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives) C:\ Console.WriteLine("驱动器{0}",d.ame);//驱动器的名称 Console.WriteLine("类型{oj",d.DriveType);/驱动器的类型 if (d.IsReady =true) Fixed:或CDRom Console.WriteLine(" 卷标:o)”,d.VolumeLabel);/驱动器的卷标别名 Console.WriteLine(" 文件系统:{O}”,d.DriveFormat);/NTFS或F3 Console.WriteLine(" 当前用户可用空间:(0}",d.AvailableFreeSpace); Console.WriteLine(" 可用空间:{o}",d.TotalFreeSpace); Console.WriteLine("磁盘总大小:{0}",d.TotalSize);
磁盘的基本操作 ▪ DriveInfo类提供方法和属性以查询驱动器信息。 ▪ 使用DriveInfo类可以确定可用的驱动器及其类型;确定驱动 器的容量和可用空闲空间等 C:\ Fixed或CDRom 别名
基本内容 磁盘操作 目录操作 文件操作 流
基本内容 磁盘操作 流 目录操作 文件操作
目录和路径操作 需要传入路径字 Directory类 符串作为参数 ·提供了创建、移动和查找目录的许多静态方法。 静态方法 功能描述 Move(string sourceFileName[源文件 将文件或目录及内容移到新位置; ],string destFileName) Delete(string,bool) 删除指定目录 xists(string path) 检查指定文件夹在磁盘上是否存在 必须是在同一个根目录下 创建指定路径中的所有目录 相当于将该目录下的子目录添加到目 返回指定目录中的文件名称 标目录;源目录必须存在 SetcurrentDirectory 将应用程序当前工作目录设为指定目录
目录和路径操作 ▪ Directory类 ◼ 提供了创建、移动和查找目录的许多静态方法。 静态方法 功能描述 Move(string sourceFileName[源文件 ],string destFileName) 将文件或目录及内容移到新位置; Delete(string,bool) 删除指定目录 Exists(string path) 检查指定文件夹在磁盘上是否存在 CreateDirectory 创建指定路径中的所有目录 GetFiles 返回指定目录中的文件名称 SetCurrentDirectory 将应用程序当前工作目录设为指定目录 必须是在同一个根目录下 相当于将该目录下的子目录添加到目 标目录;源目录必须存在 需要传入路径字 符串作为参数
目录和路径操作 Directorylnfo类 ■实例方法 ·多次重用某个对象时,使用DirectoryInfo类的实例方法 DirectoryInfo d=new DirectoryInfo(路径字符串); 实例方法 MoveTo Delete 无参数 GetDirectories Create() GetFiles
目录和路径操作 ▪ DirectoryInfo类 ◼ 实例方法 ◼ 多次重用某个对象时,使用DirectoryInfo类的实例方法 实例方法 MoveTo Delete GetDirectories Create() GetFiles 无参数 DirectoryInfo d = new DirectoryInfo( 路径字符串);
∥绑定到指定目录 DirectoryInfo dir new DirectoryInfo(@".\testing"); try { ∥判断待创建的目录是否存在 if(dir.Exists) { Console.VriteLine("{o已存在',dir.FullName); dir.Delete(); Console.WriteLine("已成功删除,请重新创建新目录"); } dir.Create0;∥创建目录 Console.WriteLine("**Directory Info***); Console.WriteLine("FullName:[0}",dir.FullName); Console.WriteLine("Name:[0)",dir.Name); Console.WriteLine("Parent:(0)",dir.Parent); Console.WriteLine("Creation:(0)",dir.CreationTime); Console.WriteLine("Attributes:[0)",dir.Attributes); Console.WriteLine("Root:[0)",dir.Root); Console.WriteLine(严*****t**t*tn门月 catch (Exception ex) Console.WriteLine("目录操作失败:{o",ex.ToString(0i
遍历子文件和子文件夹 string path =@"f:\"; Directorylnfo di new Directorylnfo(path); DirectoryInfo dirs di.GetDirectories(); foreach(DirectoryInfo d in dirs) { Console.WriteLine("(O)t(1)",d.Name ,d.CreationTime ) } Filelnfo files di.GetFiles(); Console.WriteLine("- 子文件 " foreach(Filelnfo f in files) { Console.WriteLine("(0)t(1)",f.Name,f.CreationTime);
遍历子文件和子文件夹