《程序设计案例教程第2版教学作者郭力子华驰编著单元9程序的文件处理课件》由会员分享,可在线阅读,更多相关《程序设计案例教程第2版教学作者郭力子华驰编著单元9程序的文件处理课件(19页珍藏版)》请在金锄头文库上搜索。
1、ASP.NET 程序设计案例教程 (第二版),机械工业出版社,学习单元 9 ASP.NET程序的文件处理,本单元学习目标,熟悉ASP.NET中访问和管理文件系统的方法 掌握 ASP.NET应用程序与外界数据交换的基本方法与步骤,9.1 任务1实现网站文件管理,9.1.1 任务描述与场景 9.1.2 文件的IO操作 9.1.3 文件和目录的管理 9.1.4 任务实现,9.1.1 任务描述与场景,在进行Web应用程序开发时,有时需要在具有安全授权的前提下,通过ASP.NET页面中访问服务器端的文件系统。例如创建和读取文件,保存和管理上传文件,以及显示目录下的内容和处理路径信息等,来完成Web应用程
2、序的文件管理功能。 任务目的: 了解Web应用程序中常见文件的处理方法,实现浏览服务器文件系统的基本功能。,9.1.2 文件的IO操作(1),System.IO命名空间有3类:处理目录的类、处理文件的类和处理流(Stream)的类。,9.1.2 文件的IO操作 (2),1)使用DirectoryInfo(或Directory)对象,就可以获取文件夹的大小等各种信息,建立该对象的语法如下: DirectoryInfo 对象名= new DirectoryInfo (文件物理路径); 2)使用FileInfo(或File)对象,就可以获取文件大小等各种信息,建立该对象的语法如下: FileInfo
3、 对象名= new FileInfo (文件物理路径); 3)使用FileStream对象,用来表示基于字节的文件流,可以对文件系统上的文件进行读取、写入、打开和关闭操作。建立该对象的语法如下: FileStream 对象名= new FileStream (文件物理路径); 4)使用StreamReader和StreamWriter对象可用于文本文件的读写操作。,9.1.2 文件的IO操作 (3),1创建和读取文本文件 写入文本文件是调用File类的CreateText方法,返回一个StreamWriter。在创建了 StrearnWriter后,可以调用其write方法,写入文本到文件中。
4、 读取文本文件是调用File类的OpenText方法,返回一个StreamReader。在创建了一个StremReader后,就可以调用ReadLine方法从流(Stream)中获取每行文本。例: StreamWriter MySWriter; /定义写流 if (File.Exists(MapPath(“myFile.txt“) /如文件已存在 MySWriter = File.AppendText(MapPath(“myFile.txt“); else /如文件不存在 MySWriter = File.CreateText(MapPath(“myFile.txt“); MySWriter.
5、WriteLine( “XXX” ); /将内容写入生成的文件中 MySWriter.Close();。,9.1.2 文件的IO操作 (4),2创建和读写二进制文件,一般步骤如下: 1)创建FileStream类实例。最简单的方式是在构造类的新实例时,提供二进制文件的路径和FileMode,例: FileStream 对象名 = new FileStream( MapPath( “myFile.Data“ ), FileMode.Create); 2)创建FileStream类的实例后,用该实例初始化BinaryWriter,例: BinaryWriter 对象名 = new BinaryWr
6、iter (FileStream对象); 3)使用Write方法写入整数、布尔值、字符或字节到二进制文件。 BinaryWriter对象.Write(“xxxx“); 读二进制文件的步骤与写入二进制文件的步骤相似,只需将创建BinaryWriter改为BinaryReader即可。 BinaryReader 对象名 = new BinaryReader (FileStream对象); BinaryReader对象.ReadInt32();,9.1.3 文件和目录的管理(1),1显示目录和路径 使用Directory类 和DirectoryInfo这2个类,就可以获取文件夹的大小等各种信息。Di
7、rectory类包含处理目录的静态方法,而DirectoryInfo类则包含实例化方法。如判断目录是否存在,语法如下: Directory. Exists (文件物理路径); 如要获取路径信息,需要使用Systern.IO命名空间下的Path类。,9.1.3文件和目录的管理(2),2复制和删除文本文件 如需要对文件进行复制和删除,则需要使用FileInfo类,9.1.3文件和目录的管理(3),3文件目录的创建、移动和删除 文件目录的创建、移动和删除可以使用Directory类或DirectoryInfo类中相应的方法。采用Server.Mappath( )方法来获取目录路径。,9.1.4 任务
8、实现,在页面上返回指定目录下所有子目录与文件的列表。,9.2 任务2实现网站数据交换,9.2.1 任务描述与场景 9.2.2 在ASP.NET中读写XML文件 9.2.3 在ASP.NET中输入输出Excel文件 9.2.4 任务实现,9.2.1 任务描述与场景,在Web程序的网页设计中,经常使用GridView控件或其他数据绑定控件来显示各种不同数据源的数据。在实际工作中,我们还有许多数据是通过Office软件中的Excel来处理或保存的。因此,实现网站数据与Excel电子表或XML文件的数据交换也是Web应用程序常需的功能要求。 任务目的: 实现GridView控件与Excel电子表的数据
9、交换。,9.2.2在ASP.NET中读写XML文件,常使用DataSet对象的ReadXML和WriteXML方法来读写XML文件。 使用Dataset的ReadXML方法可以将XML文档或流读入数据集,使用WriteXML方法可以将DataSet以XML格式写出。 把DataSet中的数据写入到XML文件中语法为: DataSet对象.WriteXml (XML文件物理路径,XMLWriteMode.WriteSchema); 读取XML文件到DataSet中的语法为: DataSet对象.ReadXml(XML文件物理路径);,9.2.3在ASP.NET中输入输出Excel文件,使用ADO
10、.NET的Connection对象,可以将Excel表中的数据显示在ASP.NET网页上。此时,关于Connection对象的数据连结字符串应改为: “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Excel文件路径; Extended Properties=Excel 8.0“ 如需将数据库中的数据导出到Excel电子表中,可以利用GridView向Excel导出方式来实现。 1)先实现GridView正常显示数据(用代码实现或利用数据源控件实现均可)。 2)然后利用GridView控件的RenderControl方法来完成。,9.2.4 任务实现,在ASP.NET中使用GridView控件读写Excel文件。,ASP.NET中对文件和目录的操作主要涉及System.IO命名空间下处理目录的类、处理文件的类和处理流(Stream)的类。,本章小结,