Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第11章 文件操作

上传人:E**** 文档编号:89184108 上传时间:2019-05-20 格式:PPT 页数:32 大小:158KB
返回 下载 相关 举报
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第11章 文件操作_第1页
第1页 / 共32页
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第11章 文件操作_第2页
第2页 / 共32页
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第11章 文件操作_第3页
第3页 / 共32页
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第11章 文件操作_第4页
第4页 / 共32页
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第11章 文件操作_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第11章 文件操作》由会员分享,可在线阅读,更多相关《Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第11章 文件操作(32页珍藏版)》请在金锄头文库上搜索。

1、第1章 程序设计语言与程序设计方法 第2章 Visual C#概述 第3章 C#语法基础 第4章 顺序结构程序设计 第5章 选择结构程序设计 第6章 循环结构程序设计 第7章 面向对象编程技术 第8章 继承,第9章 数组与自定义类型 第10章 菜单、工具栏与状态栏 第11章 文件操作 第12章 数据库技术 第13章 ActiveX控件 第14章 异常处理与跟踪调试 第15章 开发Web应用程序 第16章 部署应用程序,下一页,Visual C#程序设计教程,上一页,11.1 文件的输入与输出 文件的在操作时表现为流,即流是从一些输入中读取到的一系列字节。C#中流类要处理两个实体:文件和流类型。

2、 文件按信息在外部存储器上编码方式可以分为文本文件和二进制文件。 11.1.1 文本文件与二进制文件 文本文件中字节单元的内容为字符的代码,在二进制文件中文件内容是数据的内部表示,是从内存中直接复制过来的。对于字符信息无差别,对于数值信息,数据的内部表示和字符代码截然不同。二进制文件中的数据不需要进行转换,文本文件中的数据需要进行转换。,章节目录,上一页,下一页,11.1.2 C#的文件流类 C#中System.IO命名空间基本包含了与所有I/O操作有关的30个类,其中常用的类包括以下几种。 1. File类 File类是对文件的典型操作,提供文本创建、打开、复制、删除、移动等静态方法。也可以

3、用于获取文件和设置文件的基本信息。,章节目录,上一页,下一页,2. FileInfo类 FileInfo类是对文件的典型操作,提供文本创建、打开、复制、删除、移动等实例方法。当文件需要多次重用时,使用FileInfo类提供的实例方法,不能使用File提供的静态方法。 3. Directory类 Directory类实现对文件目录的典型操作,例如对文件目录的创建、重命名、删除、移动等静态方法。也可以设置和获取文件的基本信息,如目录的创建时间、最近访问时间等。 、删除、移动等实例方法。,章节目录,上一页,下一页,4. DirectoryInfo类 DirectoryInfo类实现对文件目录的典型操

4、作,例如对文件目录的创建、重命名 5. FileStream类 该类实现对文件进行读取、写入、打开、关闭操作,支持随机访问文件。可以使用同步方式打开文件按进行读写,也可以用异步方式打开文件进行读写。 6. StreamReader类 该类可以读取标准文本文件的内容。默认编码格式为UTF-8。,章节目录,上一页,下一页,7. StreamWriter类 该类可以往标准文本文件中写入内容。默认编码格式为UTF-8。,章节目录,上一页,下一页,11.2 文件操作 1.2.1 检查文件是否存在 检查文件存在与否是对文件进行操作之前必须进行的工作,可以使用File类的Exists方法实现。该方法的格式如

5、下: File.Exists(path); 其中只有一个参数用于描述文件的路径,可以使用绝对路径,也可使用相对路径。,章节目录,上一页,下一页,【例11-1】判断文件是否存在,运行结果如图11-1图所示。,章节目录,上一页,下一页,图11-1 判断该文件是否存在,该程序的执行要在IO流命名空间中,右击窗体执行“查看代码”,在程序中using语句添加: using System.IO; 【检查】按钮的Click事件代码为: private void button1_Click(object sender, System.EventArgs e) try / 试图进入下面的控制块,如果发生异常则捕

6、获 ,章节目录,上一页,下一页,if(File.Exists(textBox1.Text) / 判断文件是否存在 label2.Text=“该文件存在“; else label2.Text=“该文件不存在“; catch(Exception ee) / 捕获异常 label2.Text=“失败“+ee.ToString(); ,章节目录,上一页,下一页,11.2.2 建立、读取、删除文件 使用File类的Create方法可以在指定路径中创建一个文件,使用Delete方法可以删除一个文件。这两种方法都只含有一个参数。使用Create方法创建的文件是一个空文件,创建成功后返回的结果是一个FileS

7、tream对象,使用该对象对文件进行读写操作。 使用File类的OpenText方法可以在指定路径读取文件,文本返回结果为StreamReader的对象,二进制文件返回的为BinaryReader类型的对象。 使用File类的Delete方法可以删除指定路径的文件。,章节目录,上一页,下一页,【例11-2】建立文件H:1.txt,如果该文件存在,则删除,否则建立该文件,并初始化,然后输出文件中的信息。程序运行如图11-2所示。该程序的窗体设计如图11-2所示。,章节目录,上一页,下一页,图11-2 建立文件,该程序使用IO类及Text类,所以添加以下代码: using System.IO; u

8、sing System.Text; 该程序中需要进行判断文件是不是存在,如果存在,需要删除文件;然后建立文件,并初始化;最后,把文件读取到richTextBox1中。执行】按钮的Click事件代码为:,章节目录,上一页,下一页,private void button1_Click(object sender, System.EventArgs e) if(File.Exists(textBox1.Text) / 判断文件是否存在,如果存在,执行下面的语句 File.Delete(textBox1.Text); / 删除文件 label3.Text=“该文件存在,已经删除。“; FileStre

9、am fs = File.Create(textBox1.Text, 1024); / 如果文件不存在,建立新文件, Byte info = new UTF8Encoding(true).GetBytes(“This is some text in the file.“);,章节目录,上一页,下一页,fs.Write(info, 0, info.Length); / 从info中写入文件 label4.Text=“成功创建了该文件“; fs.Close(); / 关闭文件 using (StreamReader os = File.OpenText(textBox1.Text) / 打开文件,

10、并将文件中的 / 内容读出来 string s = “; while (s = os.ReadLine() != null) richTextBox1.Text=s; ,章节目录,上一页,下一页,11.2.3 获取文件的基本信息 获取文件的基本信息使用FileInfo对象进行获取,可以获取文件的绝对路径名DirectoryName、文件创建时间CreationTime、上次访问时间LastAccessTime、上次修改时间LastWriteTime、文件长度Length等。通过【例11-3】了解实现方法。,章节目录,上一页,下一页,【例11-3】获取指定文件的信息,程序运行结果如图11-3所示

11、。,章节目录,上一页,下一页,图11-3 程序运行结果,程序使用IO类所以添加以下代码: using System.IO; 【执行】按钮的Click事件代码为: private void button1_Click(object sender, System.EventArgs e) try FileInfo fi=new FileInfo(textBox1.Text); if(!fi.Exists),章节目录,上一页,下一页, label2.Text=“该文件不存在“; label3.Visible=false; label4.Visible=false; label5.Visible=fa

12、lse; label6.Visible=false; label7.Visible=false; label8.Visible=false; textBox2.Visible=false; textBox3.Visible=false;,章节目录,上一页,下一页,textBox4.Visible=false; textBox5.Visible=false; textBox6.Visible=false; textBox7.Visible=false; else label2.Text=“该文件存在,获取文件信息成功!信息如下“; textBox2.Text=fi.DirectoryName;,

13、章节目录,上一页,下一页,textBox3.Text=Convert.ToString(fi.Length); textBox4.Text=Convert.ToString(fi.CreationTime); textBox5.Text=Convert.ToString(fi.LastAccessTime); textBox6.Text=Convert.ToString(fi.LastWriteTime); textBox7.Text=Convert.ToString(fi.Attributes); catch(Exception ee) / 捕获异常 label2.Text=“操作失败!失败

14、原因:,章节目录,上一页,下一页,“+ee.ToString(); 该程序运行结果如图11-3。根据输入文件的路径进行判断是否存在,如果不存在,给出提示信息,否则,给出相应的文件的属性信息。,章节目录,上一页,下一页,11.3 文本文件处理 使用StreamReader类和StreamWriter类实现对文本文件读写操作。 11.3.1 读文本文件 文件的读操作之前,要进行判断文件是否存在,然后针对该文件生成一个StreamReader对象,使用该对象的ReadLine方法可以把文本文件的内容读出。,章节目录,上一页,下一页,【例11-4】实现文本文件的读操作。运行结果如图11-5左图所示。,

15、章节目录,上一页,下一页,图11-5 读文本文件,【读文件】按钮的Click事件代码为: if(!File.Exists(textBox1.Text ) label2.Text=“该文件不存在!“; else label2.Text=“该文件内容如下:“;,章节目录,上一页,下一页,FileStream fs=new FileStream(textBox1.Text,FileMode.Open,FileAccess.Read); StreamReader m_streamReader=new StreamReader(fs); m_streamReader.BaseStream.Seek(0,

16、SeekOrigin.Begin); this.richTextBox1.Text=“; string strLine= m_streamReader.ReadLine();,章节目录,上一页,下一页,while(strLine!=null) this.richTextBox1.Text+=strLine+“n“; strLine=m_streamReader.ReadLine(); m_streamReader.Close( ); ,章节目录,上一页,下一页,11.3.2 文本文件的写入 使用StreamWriter类实现文本文件的写入。文件的写操作之前,要进行判断文件是否存在,然后针对该文件生成一个StreamWriter对象,使用该对象的WriteLine方法可以把文本文件的内容读出。,章节目录,上一页,下一页,11.4 二进制文件的操作 二进制数据使用BinaryReader和BinaryWri

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

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

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