第9章c的文件概要

上传人:今*** 文档编号:107384172 上传时间:2019-10-19 格式:PPT 页数:40 大小:826KB
返回 下载 相关 举报
第9章c的文件概要_第1页
第1页 / 共40页
第9章c的文件概要_第2页
第2页 / 共40页
第9章c的文件概要_第3页
第3页 / 共40页
第9章c的文件概要_第4页
第4页 / 共40页
第9章c的文件概要_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《第9章c的文件概要》由会员分享,可在线阅读,更多相关《第9章c的文件概要(40页珍藏版)》请在金锄头文库上搜索。

1、第九章 文件,学习目标: 文件与流的基本概念 用Directory类进行目录管理 用File和FileStream类进行文件管理 用StreamReader类和StreamWriter类 进行文件的读写 文件的顺序读写和随机读写的方法,文件和流,System.IO 命名空间包含了在数据流和文件上进行读取及写入的类型。要使用这些类,通常需要在程序的开头包含语句: using System.IO; 流和文件是既相关又有区别的两个概念。 流提供向后备存储写入和读取字节的方式,后备存储包括磁盘、网络、内存和磁带等。 文件是在计算机中永久存储数据的唯一方式。如果缺少流的支持,那么应用程序将无法保存用户数

2、据。,所有表示流的类都是从抽象基类Stream继承的,Stream是抽象类。一般来说,对流的操作有以下3类: (1)读取:从流中读取数据到变量中 (2)写入:把变量中的数据写入到流中 (3)定位:重新设置流的当前位置,以便随即读写。,文件 文件由特定顺序的字节组成,因此定义一种好的文件格式能够极大的发挥应用程序的功能。 C#标准库提供了File和FileInfo类来操作文件,Directory和DirectoryInfo类可以操作文件夹(目录)。Path类包括了对文件或目录路径字符串进行操作的方法。与读写文件对应的流称为文件流(FileStream)。,1、Diectory类和Director

3、yInfo类 Directory类和DirectoryInfo类都提供了复制、移动、重命名、创建和删除目录的方法。 Directory类是静态类,而DirectoryInfo不是。由于Directory类的所有方法都是静态的,所以如果只想执行一个操作,那么使用Directory方法的效率更高。如果打算多次重用某个目录对象,则应该使用DirectoryInfo类的实例方法。,(1)CreateDirectory方法 格式:public static DirectoryInfo CreateDirectory(string path); (2)Delete方法 格式1:public static

4、void Delete(string path); 格式2:public static void Delete(string path, bool recursive); (3)Exists方法 格式:public static bool Exists(string path); (4)GetCurrentDirectory 方法 格式:public static string GetCurrentDirectory();,(5)GetDirectories 方法 格式1:public static string GetDirectories(string path); 格式2:public

5、static string GetDirectories(string path,string searchPattern); (6)GetFiles方法 格式1:public static string GetFiles(string path); 格式2:public static string GetFiles(string path, string searchPattern); (7)Move方法 格式:public static void Move(string sourceDirName,string destDirName);,2、File类和FileInfo类 File类和F

6、ileInfo类都提供了创建、复制、删除、移动和打开文件的方法,并协助创建FileStream对象。 (1)Create方法 格式:public static FileStream Create(string path); (2)Open方法 格式1:public static FileStream Open(string path,FileMode mode); 格式2:public static FileStream Open(string path,FileMode mode,FileAccess access); 格式3:public static FileStream Open(st

7、ring path,FileMode mode,FileAccess access,FileShare share);,参数mode的取值及含义,参数access的取值及含义,参数share的取值及含义,(3)Delete方法 格式:public static void Delete(string path); (4)Copy方法 格式1:public static void Copy(string sourceFileName,string destFileName); 格式2:public static void Copy(string sourceFileName,string dest

8、FileName,bool overwrite); (5)Move方法 格式:public static void Move(string sourceFileName,string destFileName); (6)Exists方法 格式:public static bool Exists(string path);,【例9-1】 编写一个对C盘根目录下的子目录和文件进行操作的程序,程序的设计界面如图9-1所示,程序的运行界面如图9-2所示。程序运行时将在listBox1中显示C盘根目录下的所有子目录名称,用户可以从中选择一个或多个子目录,选中后按【删除】按钮将删除选中的子目录。用户也可以

9、在文本框中输入要创建的子目录名,输入后按【创建】按钮将在C盘根目录下创建相应的子目录。程序运行时在listBox2中显示C盘根目录下的所有文件名,用户选择一个或多个文件后按【删除】按钮将删除选中的文件。,图9-1 程序设计界面,图9-2 程序运行界面,2FileStream类,(1)FileStream类的常用属性 CanRead属性 CanSeek属性 CanWrite属性 Length属性 Position属性 (2)FileStream类的常用方法 构造函数 格式1:public FileStream(string path, FileMode mode); 格式2:public Fil

10、eStream(string path,FileMode mode,FileAccess access);,Read 方法 格式:public override int Read(byte array, int offset, int count); ReadByte方法 格式:public override int ReadByte(); Write方法 格式:public override void Write(byte array,int offset, int count); WriteByte方法 格式:public override void WriteByte(byte valu

11、e);,Seek方法 格式:public override long Seek(long offset,SeekOrigin origin); Flush方法 格式:public override void Flush( ); Close方法 格式:public override void Close( );,【例9-2】 编写一个保存和显示文件的程序,程序的设计界面如图9-5所示,程序的运行界面如图9-6所示。程序运行时,在文本框中输入文本,按【保存】按钮将把输入的文本保存到C:EXAMPLE1.TXT文件中。按【清空】按钮将把文本框中输入的文本给清除。按【打开】按钮将把C:EXAMPLE1

12、.TXT文件打开并把文件中的内容显示在文本框中。按【退出】按钮将退出应用程序。,图9-5 程序设计界面,图9-6 程序运行界面,3、Path类 Path类包含了对文件或目录路径字符串进行操作的方法。Path类是静态类,所有的方法都是静态的,常用方法包括: HasExtension方法:确定路径信息是否包括文件扩展名 IsPathRooted方法:确定路径是包括绝对路径信息还是相对路径信息 GetDirectoryName方法:获取路径的目录名称 GetFileName方法:获取路径的文件名,流 StreamReader类、 StreamWriter类和BinaryReader类、 Binary

13、Writer类 分别是对文本流和二进制流的读写操作类,在此基础上,可以使用对文件的读写流FileStream。,1、文本文件的读写 StreamWriter类 (1)StreamWriter类的常用属性 AutoFlush属性 BaseStream属性 (2)构造函数 格式1:public StreamWriter(Stream stream); 格式2:public StreamWriter(string path);,(3)StreamWriter类的常用方法 Write方法 格式1:public override void Write( char value); 格式2:public o

14、verride void Write(char buffer); 格式3:public override void Write( string value); 格式4:public override void Write(char buffer,int index,int count); WriteLine方法 该方法功能基本同Write方法,只是在写入数据的后面加上行结束符,StreamReader类,(1)构造函数 格式1:public StreamReader(Stream stream); 格式2:public StreamReader(string path); (2)Read方法

15、格式:public override int Read(); (3)ReadLine方法 格式:public override string ReadLine(); (4)Peek方法 格式:public override int Peek();,【例9-3】用StreamWriter类和StreamReader类重写例9-2。,2、二进制文件的读写 BinaryWriter类 (1)构造函数 格式1:public BinaryWriter(Stream output); 格式2:public BinaryWriter(Stream output,Encoding encoding); (2)

16、Seek方法 格式:public virtual long Seek(int offset, SeekOrigin origin); (3)Write方法 格式1:public virtual void Write(数据类型 value); 格式2:public virtual void Write(byte buffer); 格式3:public virtual void Write(char chars);,BinaryReader类,(1)构造函数 格式1:public BinaryReader(Stream input); 格式2:public BinaryReader(Stream input,Encoding encoding); (2)读取基本数据类型的数据方

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

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

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