第05章 JSP与文件操作_第1页
第05章 JSP与文件操作_第2页
第05章 JSP与文件操作_第3页
第05章 JSP与文件操作_第4页
第05章 JSP与文件操作_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第 5 章章 JSP与文件操作与文件操作 5.1 File对象的使用对象的使用 5.2 JSP应用中的文件操作应用中的文件操作 5.3 文件的上传与下载文件的上传与下载5.1 File对象的使用对象的使用 5.1.1 File对象简介FILE对象主要用于以下两个方面:对象主要用于以下两个方面:(1)文件目录的操作。)文件目录的操作。(2)文件的操作。)文件的操作。创建一个创建一个File对象的语法结构有以下两种:对象的语法结构有以下两种:File File对象变量对象变量=new File(服务器端的绝对路径服务器端的绝对路径)File File 对象变量对象变量=new File(服务器端

2、的绝对路径服务器端的绝对路径, 文件名称文件名称) 5.1.2 文件目录的操作1创建文件目录 其语法结构如下: File File对象变量对象变量=new File(服务器服务器端的绝对路径端的绝对路径); File File对象变量对象变量.mkdir();例1 DirCreate.jsp(效果如图5.1所示)文件目录的创建操文件目录的创建操作作% String SubPath=request.getRealPath(“”); /获获取服务器端的绝对路径取服务器端的绝对路径SubPath=SubPath+Sub;File createSub =new File(SubPath); /创建一个

3、创建一个文件目录对象文件目录对象createSubif(createSub.exists()createSub.delete(); out.println(Sub目录存在,已删除目录存在,已删除); else createSub.mkdir(); /创建创建Sub目录目录out.println(Sub目录不存在,已建立目录不存在,已建立); out.println(创建了一个名为创建了一个名为Sub文件目录文件目录);out.println(其在服务器中的绝对路径是:其在服务器中的绝对路径是:);out.println(SubPath);%2判断目录文件是否存在首先建立首先建立File对象,再

4、用对象,再用File对象的对象的exists()方法来判断文件目录是否存在。方法来判断文件目录是否存在。其语法结构如下:其语法结构如下:File File对象变量对象变量=new File(服务器服务器端的绝对路径端的绝对路径);File File对象变量对象变量.exists();3删除文件目录其语法结构如下:其语法结构如下:File File对象变量对象变量=new File(服务器服务器端的绝对路径端的绝对路径);File File对象变量对象变量.delete();例2 DirDelete.jsp (效果如图5.2所示)文件目录的删除操作文件目录的删除操作%String SubPath

5、=request.getRealPath(“”); /获取服务器端的获取服务器端的绝对路径,赋值给绝对路径,赋值给SubPathSubPath=SubPath+Sub;File deleteSub=new File(SubPath); /建立一个文件目录对象建立一个文件目录对象deleteSubout.println(删除一个名为删除一个名为Sub文件目录文件目录);out.println(第一步判断此文件目录是否存在:第一步判断此文件目录是否存在:);if(deleteSub.exists()out.println(Sub文件目录存在。文件目录存在。);out.println(其在服务器的绝

6、对路径为:其在服务器的绝对路径为:);out.println(SubPath);out.println(第二步将存在的第二步将存在的Sub文件目录删除文件目录删除);deleteSub.delete(); /调用调用delete方法删除方法删除Sub目录目录out.println(Sub文件目录已经删除。文件目录已经删除。);%5.1.3 文件的操作1文件的建立首先建立文件的首先建立文件的File对象对象,然后然后,调用调用File对象的对象的createNewFile()方法来建立方法来建立文件。其语法结构如下文件。其语法结构如下:File File对象变量对象变量=new File(服务器

7、服务器端的绝对路径端的绝对路径,文件名称文件名称);File File对象变量对象变量.createNewFile();例3 FileCreate.jsp(效果如图5.3所示)文件的创建操作文件的创建操作%String FilePath=request.getRealPath();File createFile=new File(FilePath,NewFile.txt);if (createFile.exists() )out.println(已经存在名为已经存在名为NewFile文件文件);elsecreateFile.createNewFile() ;out.println(创建了一个名

8、为创建了一个名为NewFile文件文件);out.println(其在服务器中的绝对路径是:其在服务器中的绝对路径是:);out.println(FilePath+NewFile.txt);%2判断文件是否存在首先建立文件首先建立文件File对象,再调用对象,再调用File对对象的象的exists()方法判断文件是否存在。方法判断文件是否存在。其语法结构如下:其语法结构如下:File File 对象变量对象变量=new File(服务器服务器端的绝对路径端的绝对路径,文件名称文件名称);File File对象变量对象变量.exists();3文件的删除首先建立文件File对象,再调用File对

9、象的delete()方法删除文件。其语法结构如下:File File 对象变量=new File(服务器端的绝对路径,文件名称);File File对象变量.delete();例4(效果如图5.4所示)FileDelete.jsp文件的删除操作文件的删除操作%String FilePath=request.getRealPath();File deleteFile=new File(FilePath,NewFile.txt);out.println(删除一个名为删除一个名为NewFile文件文件);out.println(第一步判断此文件是否存在:第一步判断此文件是否存在:);if(delet

10、eFile.exists()out.println( NewFile文件存在。文件存在。);out.println(其在服务器的绝对路径为:其在服务器的绝对路径为:);out.println(FilePath);out.println(第二步将存在的第二步将存在的NewFile文件删除文件删除);deleteFile.delete();out.println( NewFile文件已经删除。文件已经删除。);elseout.println( NewFile文件不存在。文件不存在。);%4获取文件属性File对象对象.getName():获取文件的名字。:获取文件的名字。File对象对象.canR

11、ead():判断文件是否可读。:判断文件是否可读。File对象对象.canWrite():判断文件是否可被写入。:判断文件是否可被写入。File对象对象. length():判断文件的长度(单位是字节)。:判断文件的长度(单位是字节)。File对象对象.getAbsolutePath():获取文件的绝对路径。:获取文件的绝对路径。File对象对象.getParent():获取文件的父目录。:获取文件的父目录。File对象对象.isFile():判断文件是否是一个正常文件,而:判断文件是否是一个正常文件,而不是目录。不是目录。File对象对象.isDirectroy():判断文件是否是一个目录。

12、:判断文件是否是一个目录。File对象对象.isHidden():判断文件是否是隐藏文件:判断文件是否是隐藏文件.File对象对象.lastModified():获取文件最后修改的时间:获取文件最后修改的时间(时间是从(时间是从1970年午夜至文件最后修改时刻的毫秒年午夜至文件最后修改时刻的毫秒数)。数)。5获取目录下的文件获取目录下的文件,首先需要先建立一获取目录下的文件,首先需要先建立一个目录的个目录的File对象,再调用对象,再调用listFiles()方方法来获取目录下的文件名称。其语法结法来获取目录下的文件名称。其语法结构如下:构如下:File对象变量对象变量.listFiles()

13、; 例6. GetDirFile .jsp(效果如图5.6所示) 取出目录中文件的方法取出目录中文件的方法-列出目录中的文件列出目录中的文件 % String path=request.getRealPath(); File d=new File(path); File list=d.listFiles(); out.println( + path + 目录下的目目录下的目录:录:);for(int i=0;ilist.length;i+)if (listi.isDirectory()out.println(listi.getName() + );out.println( + path + 目

14、录下的文件:目录下的文件:);for(int i=0;ilist.length;i+)if (listi.isFile()out.println(listi.getName() + );%6获取特定类型的文件String list(FilenameFilter obj);该方法用字符串形式返回目录下的指定类型的所有文件。File listFiles(FilenameFilter obj);该方法用File对象返回目录下的指定类型的所有文件。其中FilenameFilter 是一个接口,该接口有一个方法:accept(File dir,String name) ;5.2 JSP应用中的文件操作应

15、用中的文件操作 5.2.1 文件中逐个数据的读取文件中数据是通过建立一个文件中数据是通过建立一个FileReader对象来对象来进行逐个读取的。进行逐个读取的。FileReader FileReader对象变量对象变量=new FileReader(文件磁盘路径与文件名称文件磁盘路径与文件名称);建立了建立了FileReader对象之后,通过对象之后,通过FileReader的的read()方法来读取文件中的字符,如读取文方法来读取文件中的字符,如读取文件中的某个字符、几个字符或者全部字符。如件中的某个字符、几个字符或者全部字符。如果文件没有字符存在或读到文件的末尾时,这果文件没有字符存在或读

16、到文件的末尾时,这时时read()方法返回的值为方法返回的值为1。 read()方法的语法结构如下:方法的语法结构如下:FileReader 对象变量对象变量.read(字符型数组字符型数组,开始开始读取的位置读取的位置,读取的字符个数读取的字符个数);FileReader对象还提供了一种方法对象还提供了一种方法skip(),该,该方法可以使得用户可以跳过一些字符不进行读取。方法可以使得用户可以跳过一些字符不进行读取。其语法结构如下:其语法结构如下:FileReader 对象对象.skip(要跳过的不读取的字符要跳过的不读取的字符的数目的数目);当当FileReader对象的任务完成后,需要关

17、闭对象的任务完成后,需要关闭FileReader对象,调用对象,调用close()方法。其语法结构如方法。其语法结构如下:下: FileReader 对象变量对象变量.close();5.2.2 5.2.2 文件中以行为单位的数据读取文件中以行为单位的数据读取JSP页面中,文件中以行为单位进行的数据页面中,文件中以行为单位进行的数据读取是通过建立一个读取是通过建立一个BufferedReader对象对象来实现的。其语法结构如下:来实现的。其语法结构如下:BufferedReader BufferedReader对象变对象变量量=new BufferedReader(FileReader对象对象

18、变量变量);建立建立FileReader对象之后,通过对象之后,通过BufferedReader对象的对象的readLine()方法来方法来读取文件中的整行字符读取文件中的整行字符,如读取文件中的,如读取文件中的某行字符、几行字符或全部字符。如果文某行字符、几行字符或全部字符。如果文件中没有数据或读到文件最后,这时件中没有数据或读到文件最后,这时readLine()方法返回的结果为方法返回的结果为null。readLine()方法的语法结构如下:方法的语法结构如下: BufferedReader对象变量对象变量.readLine();当当BufferedReader对象的任务完成后,需要对象的

19、任务完成后,需要关闭关闭BufferedReader对象。调用对象。调用close()方方法来实现。其语法结构如下:法来实现。其语法结构如下:BufferedReader对象变量对象变量.close();例例9. FileReadbyLine.jsp文件读取文件读取%String path=request.getRealPath(); FileReader fr=new FileReader(path + FileCreate.txt); BufferedReader br=new BufferedReader(fr); String Line=br.readLine(); while(Lin

20、e!=null)out.println(Line + ); Line=br.readLine(); br.close(); fr.close(); %5.2.3 无分行数据写入在在JSP页面中,数据无分行写入是通过建页面中,数据无分行写入是通过建立一个立一个FileWriter对象来完成的。其语法对象来完成的。其语法结构如下:结构如下:FileWriter FileWriter对象变量对象变量=new FileWriter(文件磁盘路径与文件名称文件磁盘路径与文件名称);建立FileWriter对象之后,通过FileReader对象的write()方法来将数据写入文件中。其语法结构如下几种:(1)FileWriter对象变量.write(字符);(2)FileWriter对象变量.write(字符数组);(3)FileWriter对象变量.write(字符数组,起始位置,写入的字符数);(4)FileWriter对象变量.write(字符串); 5.2.4 分行数据写入 数据分行写入文件的newLine()方法语法结构如下: BufferedWriter 对象变量.newLine(); Write()方法语法机构也有以下几种:(1)Buffe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论