《Web高级程序设计教程》电子教案 第8章 文件处理

上传人:E**** 文档编号:89401282 上传时间:2019-05-24 格式:PPT 页数:69 大小:440KB
返回 下载 相关 举报
《Web高级程序设计教程》电子教案 第8章  文件处理_第1页
第1页 / 共69页
《Web高级程序设计教程》电子教案 第8章  文件处理_第2页
第2页 / 共69页
《Web高级程序设计教程》电子教案 第8章  文件处理_第3页
第3页 / 共69页
《Web高级程序设计教程》电子教案 第8章  文件处理_第4页
第4页 / 共69页
《Web高级程序设计教程》电子教案 第8章  文件处理_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《《Web高级程序设计教程》电子教案 第8章 文件处理》由会员分享,可在线阅读,更多相关《《Web高级程序设计教程》电子教案 第8章 文件处理(69页珍藏版)》请在金锄头文库上搜索。

1、第八章 文件处理,本章学习目标 本章主要通过对伪邮件系统中附件的处理,来说明在ASP.NET中对文件和文件夹是如何进行操作的,如复制文件或文件夹、删除文件或文件夹、创建文件或文件夹。通过对本章的学习,读者应该掌握以下主要内容: WEB服务器上文件或文件的创建、删除、复制。 文件重名的处理 文件的上传,第八章 文件处理,8.1 邮件中附件的处理方式说明 8.1.1 在APS.NET中对文件访问的说明 8.1.2 目录和文件夹的操作 8.1.3 文件的操作 8.2 伪邮件附件的管理 8.2.1 文件上传 8.2.2 附件的处理 8.2.3 附件的显示 8.2.4 邮件附件的删除,8.1.1 在AP

2、S.NET中对文件访问的说明,在ASP.NET中对于文件的访问采用的是一种文件系统对象(File System Object) 模型的方式。 FSO模型使应用程序能够创建、更改、移动和删除文件夹,或者确定特定文件夹是否存在以及存在于服务器硬盘的什么地方。 当处理文件时,程序员的主要目标是以高效的易于访问的格式存储数据,并能够创建文件,插入和更改数据,以及输出(读取)数据。,8.1.2 目录和文件夹的操作,在ASP.NET中是通过Directory 类或一些函数来创建、复制、删除目录或文件夹的。 表8-1 Directory 类的方法,8.1.2 目录和文件夹的操作,1. 获取目录 可使用Dir

3、ectory类GetCurrentDirectory方法来获取应用程序的当前工作目录,这种方法的返回值是包含当前工作目录的路径的字符串。下面给出一个示例来说明,其源代码如下所示(其在浏览器中的运行结果如图8-1所示): 代码清单w8-1.aspx Sub Page_Load(sender as Object, e as EventArgs) 获取应用程序的当前工作目录。 label2.text=Directory.GetCurrentDirectory() End Sub ,8.1.2 目录和文件夹的操作, Label ,8.1.2 目录和文件夹的操作,图8-1 获取当取工作目录,8.1.2

4、目录和文件夹的操作,另外,还可使用Server对象的MapPath方法来获取Web 服务器上的指定虚拟路径相对应的物理文件路径。它的调用语法如下: Server.MapPath(Path) 其中,参数Path是Web 服务器上的虚拟路径。而这个方法的返回值是与path相对应的物理文件路径。 w8-1.aspx这个文件存储在Web服务器的物理路径是“c:lbaspnet_sample”。,8.1.2 目录和文件夹的操作,下面通过一个例子来说明其用法,其源代码如下所示(其在浏览器中的运行结果如图8-2所示): 代码清单w8-2.aspx ,8.1.2 目录和文件夹的操作,Sub Page_Load

5、(sender as Object, e as EventArgs) 获取应用程序w8-1.aspx所在物理目录。 label2.text=Server.MapPath(“w8-1.aspx“) End Sub Label ,8.1.2 目录和文件夹的操作,图8-2 获取文件的物理路径,8.1.2 目录和文件夹的操作,如果使用Server.MapPath(“)获取直接获取当前运行程序所在的物理路径。例如,在例w8-2.aspx中,把Server.MapPath(“w8-1.aspx“)换成Server.MapPath(),则在浏览器上显示的结果是:c:lbaspnet_sample。 2. 获

6、取目录或文件夹是否存在 可使用Directory类Exists方法来判断在Web服务器上某一个特定目录或文件夹是否存在。如果目录存在,则返回值为True;否则返回值为False。其使用语法如下: Directory.Exists (Path),8.1.2 目录和文件夹的操作,下面通过一个例子来说明其用法,其源代码如下所示(其在浏览器中的运行结果如图8-3所示): 代码清单w8-3.aspx Sub Page_Load(sender as Object, e as EventArgs) If Directory.Exists(“c:MYDIR“) then Label2.Text=“c盘上已经存

7、在MYDIR目录“ Else Label2.Text=“c盘上没有MYDIR目录“ End if End Sub ,8.1.2 目录和文件夹的操作, label ,8.1.2 目录和文件夹的操作,图8-3 Directory类Exists方法的应用,8.1.2 目录和文件夹的操作,3. 创建新的目录或文件夹 使用Directory类CreateDirectory方法可在Web服务器上创建目录或文件夹。其使用语法如下: Directory. CreateDirectory (Path) 说明:参数Path指定欲创建的所有目录和子目录。例如,若当前目录是C:UsersUser1,要创建目录 C:U

8、sersUser1PublicHtml,则可以使用下面三种方法中的任意一种: Directory.CreateDirectory(“PublicHtml“) Directory.CreateDirectory(“UsersUser1PublicHtml“) Directory.CreateDirectory(“c:UsersUser1PublicHtml“) 如果Public子目录和Html子目录都没有,则上述命令会先创建Public子目录,并在Public子目录中创建Html子目录。,8.1.2 目录和文件夹的操作,另外还可以使用函数MkDir()来创建一个新目录。该函数也需要Path参数,

9、如果在参数中未指定驱动器,则在当前驱动器上创建新的目录或文件夹。这样上例也可写成: MkDir(“c:UsersUser1PublicHtml“),8.1.2 目录和文件夹的操作,4. 删除目录或文件夹 使用Directory类Delete方法可在Web服务器上删除指定的目录及其任何子目录。其使用语法如下: Directory. Delete (Path, recursive) 其中,参数path要移除的目录的完全路径名,并且允许path参数指定相对或绝对路径信息,相对路径信息被解释为相对于当前工作目录,另外,path参数不区分大小写。;参数recursive是一个布尔值,当要删除path中的

10、目录、子目录和文件时,recursive则为True;否则为False。例如: Directory.Delete(“C:MYDIR“,true) 另外,还可以使用函数RmDir()来删除一个目录或文件夹。RmDir函数必须要带一个包括要删除目录或文件夹的字符串参数,这个参数要指明要移除的目录或文件夹。如果这个参数未指定驱动器号,则RmDir函数删除当前驱动器上的目录或文件夹。但RmDir函数要求所要删除的目录或文件夹为空,否则,在RmDir函数运行过程中,8.1.3 文件的操作,表8-2 File类的方法,8.1.3 文件的操作,8.1.3 文件的操作,文件是否存在 通过File类的Exist

11、s方法可以确定指定的文件是否存在。其使用的语法如下所示: File.Exists(Path),8.1.3 文件的操作,代码清单w8-3.aspx Sub Page_Load(sender as Object, e as EventArgs) If File.Exists(“c:MYDIRa.txt“) then Label2.Text=“在c盘的MYDIR目录中有a.txt文件aaaa“ Else Label2.Text=“在c盘的MYDIR目录中无a.txt文件“ End if , Label ,8.1.3 文件的操作,图8-4 文件是否存在,8.1.3 文件的操作,2. 文件的复制 通过F

12、ile类的Copy方法可以将指定的文件复制成一个新的文件,如果所指定的新文件已经存在,通过参数设置可覆盖原来的文件。 File.Copy(sourceFileName, destFileName,overwrite) 其中参数: sourceFileName :要复制的文件。 destFileName : 目标文件的名称。它不能是一个目录或现有文件。 overwrite : 如果指定的目标文件已存在,并允许覆盖原来的文件,则该参数设为True;否则为 False。,8.1.3 文件的操作,3. 文件的删除 通过File类的Delete方法删除由完全限定路径指定的文件。如果指定的文件不存在,不引

13、发异常。其使用的语法如下所示: File.Delete(path) 其中,参数path是指要删除的文件的名称。下面是一个示例。 If File.Exists(“c:MYDIRa.txt“) then File.Delete(“c:MYDIRa.txt“) Label2.Text=“在c盘的MYDIR目录中的a.txt文件已经删除“ Else Label2.Text=“在c盘的MYDIR目录中无a.txt文件” End if,8.1.3 文件的操作,4. 文件的移动 通过File类的Move方法将指定文件移到新位置,并可提供指定新文件名的选项。其使用的语法如下所示: File. Move (so

14、urceFileName,destFileName) 其中,参数: sourceFileName :要移动的文件的名称。 destFileName :文件的新路径。,在伪邮件系统中,附件的发送其实就是文件上传,然后通过附件表(Email_att)来存储该附件与邮件数据表中哪一个邮件记录相对应,同时存储附件原来的文件名和在Web服务器上的文件名,以便于显示邮件详细内容时显示出相对应的附件。下面来看如何来上传一个文件,其源代码如下所示: 代码清单w8-5.aspx ,8.2.1 文件上传,Sub UploadFile_Clicked(Sender as Object, e as EventArgs

15、) Dim lstrFileName as string Dim lstrFileNamePath as string Dim lstrFileFolder as string 获得文件名称 lstrFileName = loFile.PostedFile.FileName 注: loFile.PostedFile.FileName 返回的是 通过文件对话框选择的文件名,这之中包含了文件的目录信息 去掉目录信息,返回文件名称 lstrFileName = Path.GetFileName(lstrFileName) 获得上传文件的指定文件夹的名称,本例是当前应用程序所在目录下的mail_att

16、子目录,8.2.1 文件上传,lstrFileFolder = Server.MapPath(“) +“mail_att“ 判断上传目录是否存在,不存在就建立 If(not Directory.Exists(lstrFileFolder) Then Directory.CreateDirectory(lstrFileFolder) End If 上传文件到服务器 lstrFileNamePath = lstrFileFolder & lstrFileName 得到上传目录及文件名称,8.2.1 文件上传,loFile.PostedFile.SaveAs(lstrFileNamePath) 获得并显示上传文件的属性 FileName.Text = lstrFileName 获得文件名称 FileType.Text = loFile.PostedFile.ContentType 获得文件类型 FileLength.Text

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

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

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