数据结构域算法设计C教学课件Chap12IO

上传人:woxinch****an2018 文档编号:54366190 上传时间:2018-09-11 格式:PPT 页数:64 大小:545KB
返回 下载 相关 举报
数据结构域算法设计C教学课件Chap12IO_第1页
第1页 / 共64页
数据结构域算法设计C教学课件Chap12IO_第2页
第2页 / 共64页
数据结构域算法设计C教学课件Chap12IO_第3页
第3页 / 共64页
数据结构域算法设计C教学课件Chap12IO_第4页
第4页 / 共64页
数据结构域算法设计C教学课件Chap12IO_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《数据结构域算法设计C教学课件Chap12IO》由会员分享,可在线阅读,更多相关《数据结构域算法设计C教学课件Chap12IO(64页珍藏版)》请在金锄头文库上搜索。

1、1,C#程序设计进阶,第12章 文件IO操作,2,第11章主要内容,1.Windows程序设计基本流程 2.Windows窗体设计:窗体分为SDI和MDI两种类型,SDI窗体又有有模式和无模式显示两种显示模式,分别使用窗体的ShowDilog方法和Show方法显示。窗体也可以继承。 3.窗体是一个控件,通常用作容器。在其中放置其他的控件,大多数控件具有Name、Text、Size、Location、Font、BackColor、ForeColor、Cursor、Visible和Enabled等属性。每种控件都提供多种的事件,用户通过设计相应事件的处理方法实现交互。 4. 用户界面设计:包括菜单

2、设计和一些美化用户界面的非C#内部控件的使用。菜单设计包括下拉式菜单和弹出式菜单的设计方法;通过用对话框、ImageList控件的设计方法;TreeView和ListView控件的设计方法以及ToolStrip和StatusStrip控件的设计方法。 5.图形设计:绘图的基本知识,GDI+和Graphics类;绘图的基本步骤;Graphics中的常用绘图和填充方法的使用。,3,文件是永久存储在磁盘等介质上的一组数据,操作系统通过唯一的文件名进行管理。很多程序需要读写磁盘文件,涉及文件的建立、从文件中读出数据和向文件中写入数据等。,第12章 文件操作,4,文件类型 文件属性 文件访问方式,12.

3、1 文件概述,5,文件类型 按照文件存取方式及结构,文件分为顺序文件和随机文件,顺序文件特点: 由若干文本行组成,每个文本行结尾为一个回车字符(ASCII为13,称为行分界符),文件结尾为Ctrl+Z(ASCII码为26); 每个字符用一个字节存储,可以使用记事本浏览、编辑和创建。,顺序文件优缺点: 操作简单 无法任意取出某一个记录来修改,行分界字符,行n-1,行n,行n+1,12.1 文件概述,6,文件类型 按照文件存取方式及结构,文件分为顺序文件和随机文件,随机文件特点: 由多个记录组成,每个记录具有相同的大小和格式 ,如同数据库; 每个记录由字段组成,在字段中存放数据。 读取或修改文件时

4、,只要给出记录号,即可迅速找到该记录,并读出。,随机文件优缺点: 访问速度快,读、写、改方便灵活 占用存储空间增大,记录n,字段1,字段2,行n+1,字段1,字段2,记录n+1,12.1 文件概述,7,文件类型 按照文件数据组织格式,文件分为ASCII文件和二进制文件,ASCII文件特点: ASCII文件又称为文本文件,每个字符存放一个ASCII码,输出时每个字节代表一个字符,便于对字节逐个处理,但占用空间大,转换时间长。,二进制文件特点: 数据以二进制方式存储,存储的基本单位为字节 能够存取任意所需要的字节,可以把文件指针移动到文件的任意位置,这种存取方式最为灵活。,12.1 文件概述,8,

5、文件类型 文件属性 文件访问方式,12.2 System.IO模型,9,文件属性用于描述文件本身的信息,主要包括以下几方面:,12.1 文件和System.IO模型,(1)文件属性:有只读、隐藏和归档等类型(FileAttrubutes),(2)访问方式:有读、写、追加数据等类型( FileMode),(3)访问权限:有读、读/写和写等类型(FileAccess),(4)共享权限:有文件共享、文件不共享等类型 (FileShare),10,文件类型 文件属性 文件访问方式,在C#中可以通过.NET 的System.IO模型以流的方式对各种数据进行访问。,12.2 System.IO模型,11,

6、System.IO模型,System.IO模型提供了一个面向对象的方式来访问文件。提供了很多针对文件、文件夹的操作功能,特别是以流(Stream)的方式对各种数据进行访问,灵活,编程接口统一。,System.IO模型的实现包含在System.IO命名空间中,该命名空间中包含允许读写文件和数据流的类型以及基本文件和文件夹支持的各种类。可用于文件的创建、读/写、复制、移动和删除等操作,常见类如表12-1所示。,12.2 System.IO模型,12,表12-1 System.IO命名空间中常用的类及说明,12.2 System.IO模型,13,表12-1 System.IO命名空间中常用的类及说明

7、,12.2 System.IO模型,14,文件编码,文件编码也称为字符编码,用于指定在处理文本时如何表示字符。通常首选的是Unicode,读取或写入文件时,未正确匹配文件编码的情况可能会导致发生异常或产生不正确的结果。,编码是一个将一组Unicode字符转换为一个字节序列的过程,解码是一个反向操作过程,即将一个编码字节序列转换为一组Unicode字符。System.IO模型中的Encoding类表示字符编码。表12-2列出了该类的属性及其对应文件编码方式。,12.2 System.IO模型,15,表12-2 文件编码类型及说明,12.2 System.IO模型,16,C#的文件流,12.2 S

8、ystem.IO模型,C#将文件看成是顺序的字节流,也称为文件流。文件流是字节的抽象概念,文件流可以看成是存储在磁盘上的一系列二进制字节信息。C#用文件流对其进行输入、输入操作。,C#提供Stream类,是所有流的基类,由它派生出FileStream和缓冲区流。主要介绍FileStream文件流。,System.IO模型中,文件操作的基本方式是: 用File类打开操作系统文件,建立对应的文件流即FileStream对象 用StreamReader/StreamWriter类提供的方法对该文件流(文本文件)进行读/写或用BinaryReader/BinaryWriter类提供的方法对该文件流(二

9、进制文件)进行读写。,17,目录操作,12.3 目录和文件操作,Directory类提供了目录管理功能,不仅可以创建、移动和删除目录,还可以获取和设置目录的有关信息。Directory类是静态类,其中的所有方法都是静态的。,表12-3列出了Directory类的常用的静态方法及说明。,18,12.3 目录和文件操作,表12-3 Directory类的常用的静态方法及说明。,19,12.3 目录和文件操作,表12-3 Directory类的常用的静态方法及说明。,下面的示例演示了 Directory 类的某些主要成员。,Chap12IO/demo1,20,public static void M

10、ain() / Specify the directories you want to manipulate. string path = “c:MyDir“; string target = “c:TestDir“; try / Determine whether the directory exists. if (!Directory.Exists(path) / Create the directory it does not exist. Directory.CreateDirectory(path); if (Directory.Exists(target) / Delete the

11、 target to ensure it is not there. Directory.Delete(target, true); / Move the directory.Directory.Move(path, target); / Create a file in the directory.,Chap12IO/demo1,21,12.3 目录和文件操作,/ Create a file in the directory. File.CreateText(target + “myfile.txt“); / Count the files in the target directory.

12、Console.WriteLine(“The number of files in 0 is 1“, target, Directory.GetFiles(target).Length); catch (Exception e) Console.WriteLine(“The process failed: 0“, e.ToString(); finally ,注意:需要添加对System.IO命名空间的引用,输出: The number of files in c:TestDir is 1,Chap12IO/demo1,22,12.3 目录和文件操作,Directory.CreateDirec

13、tory(“c:MyDirectory”);Directory.Move(“c:MyDirectory”,”c:WindowsMyDirectory”);Directory.Delete(“c:WindowsMyDirectory”);,首先在C盘根目录下创建了一个名为MyDirectory的目录,然后将目录移动到C盘Windows子目录下,最后删除该目录。,下面的语句完成什么操作?,注意:在指定目录和文件的路径名时,使用转义符”代替字符串中的”,注意:路径名可以使用全名或部分路径名,如果使用部分路径名,则默认操作都在当前目录下进行,如不指定,默认当前目录为应用程序可执行文件所在的目录。,23

14、,12.3 目录和文件操作,DirectoryInfo类封装了目录的有关信息,也提供了目录操作的方法,其使用方式与Directory相似,但DirectoryInfo类是非静态类,可以指定目录的路径名来创建一个DirectoryInfo对象,通过对象来调用其方法和属性。,DirectoryInfo dir=new DirectoryInfo(“c:MyDirectory”);,下面的示例演示了 DirectoryInfo 类的某些主要成员。,Chap12IO/demo2,24,12.3 目录和文件操作,Chap12IO/demo2,public static void Main() / Spe

15、cify the directories you want to manipulate. DirectoryInfo di = new DirectoryInfo(“c:MyDir“); try / Determine whether the directory exists. if (di.Exists) / Indicate that the directory already exists.Console.WriteLine(“That path exists already.“); return; / Try to create the directory. di.Create();

16、Console.WriteLine(“The directory was created successfully.“); / Delete the directory. di.Delete(); Console.WriteLine(“The directory was deleted successfully.“); ,25,12.3 目录和文件操作,Chap12IO/demo2,catch (Exception e) Console.WriteLine(“The process failed: 0“, e.ToString(); finally ,输出: The directory was created successfully. The directory was deleted successfully.,26,文件操作,12.3 目录和文件操作,

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

当前位置:首页 > 高等教育 > 其它相关文档

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