第5章 JSP中的文件操作
《JSP程序设计》复习提纲

《JSP程序设计》复习大纲第一部分期末考核说明一、期末考试要求考核学生是否掌握软件工程的基本概念,能否较熟练运用各知识点来创建一个完整的软件工程。
具体考核要求分为以下几个层次:●了解:要求学生能够了解各部分基础知识和概念。
●掌握:要求学生能够灵活运用各知识点来编写基本程序。
二、组卷原则●在教学大纲和考核说明所规定的内容和要求范围之内命题;按照理论联系实际的教学原则,考察学生对所学知识的理解、应用能力;试题不会超出教学大纲的要求。
●试题的覆盖面广,并适当突出重点。
●对理论知识及应用能力的考核,要求掌握的约占40%,理解的约占 40%,了解的约占20%。
●试题的难度和题量适当,按难易程度分为四个层次:容易约占40%、较容易约占30%、较难约占20%、难约占10%。
题量适中。
三、试题类型选择题(45分)填空题30分)程序题25分)四、考核形式考试采用笔试、闭卷考试。
五、答题时限答题时间为120分钟。
第二部分考核的内容和要求第一章 JSP概述1.考核目的什么是JSP2.考核的知识点●JSP的技术原理3.考核要求第二章 JSP动态网页设计基础1.考核目的考核学生是否较掌握了HTML,JA V ASCRIPT2.考核的知识点●HTML中一些常用的标记符,特别是表单●JavaScript的语法3.考核要求HTML和JavaScript的基础知识第三章 JSP的开发和运行环境1.考核目的掌握JSP的环境配置2.考核的知识点掌握安装TOMCA T和MyEclipse并在MyEclipse配置TOMCA T 3.考核要求JSP文件的运行第四章JSP脚本元素1.考核目的考核学生是否掌握JSP中的三种脚本元素。
要求学生掌握在JSP页面内使用JSP指令标签和动作标签2.考核的知识点●掌握JSP声明●掌握JSP表达式●掌握JSP脚本程序3.考核要求能够在JSP文件中使用三种脚本元素,JSP动作元素第五章JSP内置对象1.考核目的考核学生是否了解掌握JSP常用对象2.考核的知识点●Request 对象●Response 对象●Session 对象●out对象●application对象●exceptionc对象3.考核要求掌握常用内置对象的一些常用方法第六章Cookie1、考核目的了解Cookie的使用2.考核的知识点Cookie的创建3. 考核要求第七章Javabean的表单处理1、考核目的掌握如何创建bean,如何在JSP中使用javabean 2.考核的知识点●<jsp:usebean>●<jsp:setProperty>●<jsp:getProperty>三个动作的使用,3. 考核要求要求掌握javabean的创建,调用,以及和表单的使用第八章JSP中的文件操作1、考核目的掌握File及文件输入输出流2.考核的知识点◆FileWriter◆FileReader3. 考核要求要求掌握文件输入输出流的使用第十章数据库操作基础1、考核目的掌握如何在JSP中连接数据库2.考核的知识点通过JDBC-ODBC桥的方式和通过驱动的方式来连接SQL SERVER数据库3. 考核要求●DriverManage接口的常用方法●Connection接口常用方法●Statement接口常用方法●加载驱动及连接数据库的用法第十二章数据库操作基础1、考核目的掌握配置servlet掌握与servlet相关的接口的类2.考核的知识点servlet的工作原理,生命周期3. 考核要求Servlet请求和响应相关的HttpServletRequest接口和HttpServletResponse接口。
4JSP中的文件操作

第4章JSP中的文件操作例子1Example4_1.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import="java.io.*"%><HTML><BODY bgcolor=cyan><Font Size=1><%File f1=newFile("E:\\Tomcat5.0\\webapps\\root","Example1_2.jsp");File f2=new File("jasper.sh");%><P> 文件Example1_2.jsp是可读的吗?<%=f1.canRead()%><BR><P>文件Example1_2.jsp的长度:<%=f1.length()%>字节<BR><P> jasper.sh是目录吗?<%=f2.isDirectory()%><BR><P>Example1_2.jsp的父目录是:<%=f1.getParent()%><BR><P>jasper.sh的绝对路径是:<%=f2.getAbsolutePath()%></Font></BODY></HTML>例子2Example4_2.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import="java.io.*"%><HTML><BODY><Font Size=2><% File dir=newFile("E:/Tomcat5.0/webapps/root","Students");<P> 在root下创建一个新的目录:Student,<BR>成功创建了吗?<%=dir.mkdir()%><P> Student是目录吗?<%=dir.isDirectory()%></Font></BODY></HTML>例子3Example4_3.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import="java.io.*"%><HTML><BODY><Font Size=2><%File dir=new File("E:/Tomcat5.0/webapps/root");File file[]=dir.listFiles();%><BR>目录有:<%for(int i=0;i<file.length;i++){if(file[i].isDirectory())out.print("<BR>"+file[i].toString());}%><P>文件名字:<%for(int i=0;i<file.length;i++){if(file[i].isFile())out.print("<BR>"+file[i].toString());}%></Font></BODY></HTML>Example4_4.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import ="java.io.*" %><%!class FileJSP implements FilenameFilter{String str=null;FileJSP(String s){str="."+s;}public boolean accept(File dir,String name){return name.endsWith(str);}}%><P>下面列出了服务器上的jsp文件<%File dir=new File("E:/Tomcat5.0/webapps/root/");FileJSP file_jsp=new FileJSP("jsp");String file_name[]=dir.list(file_jsp);for(int i=0;i<file_name.length;i++){out.print("<BR>"+file_name[i]);}%>例子5Example4_5.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import ="java.io.*" %><HTML><BODY><%File f=new File("E:/Tomcat5.0/webapps/root/","A.java");File dir=new File("E:/Tomcat5.0/webapps/root","Students");boolean b1=f.delete();boolean b2=dir.delete();<P>文件A.java成功删除了吗?<%=b1%><P>目录Students成功删除了吗?<%=b2%></BODY></HTML>例子6Example4_6.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import ="java.io.*" %><HTML><BODY bgcolor=cyan><FONT size=1><%File dir=newFile("C:/","Students");dir.mkdir();File f=new File(dir,"hello.txt");try{FileOutputStream outfile=new FileOutputStream(f);BufferedOutputStream bufferout=new BufferedOutputStream(outfile);byte b[]="你们好,很高兴认识你们呀!<BR>nice to meet you".getBytes();bufferout.write(b);bufferout.flush();bufferout.close();outfile.close();FileInputStream in=new FileInputStream(f);BufferedInputStream bufferin=new BufferedInputStream(in);byte c[]=new byte[90];int n=0;while((n=bufferin.read(c))!=-1){String temp=new String(c,0,n);out.print(temp);}bufferin.close();in.close();}catch(IOException e){}</BODY></HTML>例子7Example4_7.jsp<%@ page contentType="text/html;charset=GB2312" %><%@ page import ="java.io.*" %><HTML><BODY><%File dir=new File("C:/","Students");dir.mkdir();File f=new File(dir,"apple.txt");try{FileWriter outfile=new FileWriter(f);BufferedWriter bufferout=new BufferedWriter(outfile);bufferout.write("你好:");bufferout.newLine();bufferout.write("好久不见了,近来在忙什么呢?");bufferout.newLine();bufferout.write("欢迎来玩");bufferout.newLine();bufferout.write("2002年8月8日");bufferout.flush();bufferout.close();outfile.close();FileReader in=new FileReader(f);BufferedReader bufferin=new BufferedReader(in);String str=null;while((str=bufferin.readLine())!=null){out.print("<BR>"+str);}bufferin.close();in.close();}catch(IOException e){}%></BODY>例子8English.txt#Take an umbrella with you in case___#it will rain#it rains#it raining#it rained#B##He is no longer the honest man___he was#who#whom#which#that#D##During the recession, thousands of workers were____#laid on#laid down#laid out#laid off#B# #The building casts a large__on the ground#shadow#shade#shanpoo#shawl#D##The driver came close to ___killed for speeding#having been#have been#be#being#A# Example4_8.jsp:<%@ page contentType="text/html;charset=GB2312" %><%@ page import ="java.io.*" %><%@ page import ="java.util.*" %><%int i=0;String str=null;Integer score=new Integer(0);Integer number=new Integer(0);session.setAttribute("score",score);session.setAttribute("序号",number);try{ //englishi.txt存放在f:/2000目录下。
第五章 实训案例:网络书城系统

第三篇基于JSP+Struts2+Hibernate技术架构的开发本篇的目的⏹掌握Struts技术⏹掌握Hibernate技术⏹掌握事务处理技术⏹掌握购物车原理⏹理解泛型的使用⏹熟练使用JSP+Struts2+Hibernate技术架构第五章实训案例:网络书城系统·157·第五章实训案例:网络书城系统本章将基于JSP+Struts+Hibernate技术设计与实现网络书城系统。
5.1 系统分析随着网络的广泛普及,网络支付手段的逐步完善,越来越多的人逐渐习惯于网上购物,习惯于鼠标点击下订单,送货上门的快捷便利的购物方式。
传统书店的购书观念正在被网上方便快捷的购书方式所冲击。
网络书城就是借助于互联网,搭建读者和图书销售企业之间的桥梁,实现图书的快速查询和购买,既方便读者,也方便图书销售企业管理、宣传、推广和销售图书。
5.1.1 需求描述网络书城的主要功能就是让用户能够足不出户就可以购买到自已想要的书籍,所以网络书城系统主要提供如下功能:●用户能够使用本网站完成图书的浏览、查询和购买。
●普通用户只能浏览图书信息。
浏览分为三种方式:按类别浏览、按条件浏览、查询图书。
●普通用户通过注册成为注册用户,注册后的用户可以登录,密码忘记后可以找回密码,登录后可以修改注册资料。
●注册用户登录后可以进行在线图书购买,购买的图书存放在购物车中;可以对购物车中的商品数量进行修改、删除;调整好购物车中内容后,可进行结算,以将购买的图书保存到订单中。
●注册用户登录后可以浏览自己的订单,查看订单细目,对于没有得到商家处理的订单可以取消。
●管理员可分页浏览用户,可查看用户详细信息,可删除用户。
●管理员可管理图书分类、管理图书,添加图书时能够上传图书的图片。
●管理员可分页浏览订单、查看订单状态,处理订单,删除订单。
5.1.2 用例分析用例图(Use-case Diagram)显示外部参与者与系统的交互,能够更直观地描述系统的功能。
5.1 JSP概述

5.1 5.2 5.3 5.4 5.5 5.6
JSP概述 JSP语法 JSP隐含对象 JSP中的Java Bean组件 JSP连接数据库 JSP应用实例
1
5.1 JSP 概述
1、JSP技术简介 2、JSP运行环境 3、JSP组成 4、JSP使用范围 5、JSP生命周期 6、JSP开发示例
3
1、JSP技术简介
(3) JSP有什么优点? JSP简化了Web动态内容的传输,可以让Web 网页开发人员和设计人员非常容易的创建和维 护动态网页。JSP(Java Server Page)的出现使网 页的设计与开发变得更为灵活。 JSP技术把用户界面的设计与实现从系统中分 离出来,使得网页设计人员能够在不改变底层 动态内容的前提下改变整个网页布局。 对客户端的要求很低,只要有浏览器即可。
19
6、JSP开发示例
<title>用于定义标题,显示在浏览器的顶端。 <body>定义文件的格式,并在其中书写正文。 <h1>为一级标题标记,将字体变粗变大加宽 , 程度与级数反比。 <h3>为三级标题标记,将字体变粗变大加宽。 <!--注解--> 注释,不会在浏览器中显示出来。 <p> 段落标记,用于分段。
18
6、JSP开发示例
(4) 注意事项 注意url地址中的jsp后缀不要忘了。 运行jsp程序无需事先编译。只要将jsp程序放 在正确的目录中,并启动服务器即可。 (5) JSP程序相关内容 例5-1中的html标记成对出现。例如,以<html> 开头,以</html>结尾。 <html>标记用于声明一个html文件。 <head>用于提供文件的整体说明信息。
JSP课后习题参考答案

JSP课后习题参考答案●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。
●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。
由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。
当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。
2. 简述JSP两种体系结构。
答:JSP规范中分别称作JSP Model 1 和JSP Model 2,它们的本质区别在于处理批量请求的位置不同。
Model1,在Model1体系中,JSP页面独自响应请求并将处理结果返回客户。
这里仍然存在显示与内容的分离,因为所有的数据存取都是由JavaBean来完成的。
尽管Model1体系十分适合简单应用的需要,它却不能满足复杂的大型Web应用程序需要。
不加选择地随意运用Model 1,会导致JSP页内被嵌入大量的脚本片段或Java代码。
尽管这对于Java程序员来说可能不是什么大问题,但如果JSP页面是由网页设计人员开发并维护的这就确实是个问题了。
从根本上讲,将导致角色定义不清和职责分配不明,给项目管理带来不必要的麻烦。
Model2体系结构,是一种把JSP与Servlet联合使用来实现动态内容服务的方法。
它吸取了两种技术各自的优点,用JSP生成表示层的内容,让Servlet完成深层次的处理任务。
Servlet充当控制者的角色,负责管理对请求的处理,创建JSP页面需要使用的Bean和对象,同时根据用户的动作决定把哪个JSP页面传给请求者。
在JSP页面内没有处理逻辑,它仅负责检索原先由Servlet创建的对象或JavaBean,从Servlet中提取动态内容插入静态模板。
分离了显示和内容,明确了角色的定义以及实现了开发者与网页设计者的分开。
项目越复杂,使用Model 2体系结构的优势就越突出。
JSP实验报告

中南民族大学管理学院学生实验报告课程名称: JSP程序设计年级: 2010专业:姓名:学号:指导教师:实验地点:管理学院综合实验室学年至学年度第学期第一章 JSP简介实验 Tomcat服务器的安装与配置一、实验目的本实验的目的是让学生掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP 页面、怎样修改Tomcat服务器的端口号。
二、实验要求1、将下载的apache-tomcat-6.0.13.zip解压到硬盘某个分区,比如D。
2、在硬盘分区D下新建一个目录,名字为student,见stuent设置为Web服务目录,并为该Web服务目录指定名字为good的虚拟目录。
3、修改端口号为5678.在server.xml文件中找到修改端口号的部分,将端口号修改为5678.4、启动Tomcat服务器。
5、用文本编辑器编写一个简单的JSP页面biao.jsp,并保存到Web服务目录student中。
6、用浏览器访问Web服务目录student中的jsp页面biao.jsp。
三、实验内容1、Tomcat安装成功并运行2、编码实现乘法表3.代码四、实验结果biao.jsp页面五、实验结果分析1、默认的端口号为8080,若修改,在conf目录下的server.xml文件中修改端口号。
2、设置虚拟目录。
在conf目录下的server.xml中</Host>前加入:<Context path=”/**” docBase=”路径” debug=”0” reloadable=”true/”>3、Tomcat服务器必须保持启动。
第二章 JSP页面与JSP标记实验1 JSP页面的基本结构一、实验目的本实验的目的是让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java程序片、Java表达式。
二、实验要求本实验将用户输入的单词按字典顺序。
需要编写两个JSP页面,名字分别为inputWord.jsp和showDictionary.jsp。
(完整版)JSP说课课件
主要内容
1 课程设置
2
教学内容
3 课程实施
4 教学资源
5 教学程序设计
6 教学效果
7 特色与改革
教学内容
这种基于工作任务的逆向 循环教学模式的思想是:
以模块为教学单位(模
块单元都是按工作任务划 分) ,每个模块单元分为
六个教学环节:提出工作 任务→引导解决问题→方 案点评→关键技术点,知 识点讲解→讲解其他知识 点→利用所学知识解决新 问题。从而完成一个“试 做→学→真做”循环。
4 南京德博科技有限公司
教学资源
软件环境
多种形式的师生交流渠道和互动平台已经通过网络实现 所有教学资源实现了上网
基本资源 电子教案 电子课件 课程教材 课后作业
项目资源 演示项目 拓展案例 模拟项目 实训项目 参考案例
2.教学资源
涂刚,男,硕士,副教授 计算机软件专业 专职教师
黄志艳,女,硕士,讲师 计算机软件专业 专职教师
学时 2 4 4 6 4 2 4 6 4
教学内容
教学重点、难点
重 点
难 点
JSP开发环境的创建
JSP基本语法、JSP指令和动作标记
JSP内置对象的使用
JavaBean的创建和使用 JSP文件操作 Servlet的创建、配置、使用 JSP数据库操作
及时巩固 反复练习 教、学、做
一体化
MVC设计思想的应用
主要内容
1 课程设置
2
教学内容
3 课程实施
4 教学资源
5 教学程序设计
6 教学效果
7 特色与改革
教学效果
❖ 学生作品
教学效果
❖ 学生考证
教学效果
jsp实验1-11
软件工程系《JSP应用技术》实验指导书专业班级:软件11-1、2指导教师:朱亚玲实验一 JSP开发环境的搭建一、实验目的1.熟练掌握Tomcat服务器的安装与配置,为后续实验做好准备工作;2.掌握Web服务目录的设置;3.熟练掌握Web服务目录下JSP页面的访问;4.掌握Tomcat服务器端口号的修改。
二、实验环境与地点PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤1.Tomcat服务器的安装与配置;(1)下载jdk6.0进行安装,同时配置系统变量PATH与CLASSPATH。
(2)下载Tomcat6.0,将其安装到硬盘的某个分区,如D:\。
2.Web服务目录的设置;(1)在D:\下新建一个目录,名称为student,将student目录设置为Web服务目录,并为该Web 服务目录指定名字为friend的虚拟目录。
打开Tomcat目录中conf文件夹里的文件,找到出现</Host>的部分。
然后在</Host>的前面加入:<Context path=" " docBase=" " debug=0 reloadable="true" /> (2)修改端口号为9999。
在文件中找到修改端口号部分,默认端口修改为9999。
(3)启动Tomcat服务器。
如果已经启动,应该,并重新启动。
3.JSP页面的访问;(1)使用“记事本”编写一个简单的JSP页面,文件名用自己的姓名拼音命名(如张三:zhangSan.jsp),文件名是,并保存到Web服务目录student中。
(2)打开上一步建立的JSP页面进行编辑,使其页面运行起来时显示你的专业、班级、学号,姓名。
(3)在浏览器的地址栏中输入Tomcat服务器的IP地址和端口号,并通过虚拟目录friend访问Web服务目录student中第2步编辑后的JSP页面,访问路径是:。
chap5_JSP中的文件操作
File类
File类的对象主要用来获取文件本身的一些 信息,例如文件所在的目录、文件的长度、 文件读写权限等,不涉及对文件的读写操作, 主要操作包括获取文件属性和管理目录 File对象的构造方法: File(String filename); File(String directoryPath, String filename ); File(File f, String filename);
11
FlieOutputStream类
构造函数: FileOutputStream(String name); FileOutputStream(File file); 参数name和file指定的文件称为输出流的目的地,通 过向输出流写入数据把信息送往目的地 一般是在try-catch语句的try块部分创建输出流对象, 在catch(捕获)部分检测并处理这个异常 void write(byte b[]); void write(byte b[], int off, int len);
17
RandomAccessFile类
RandomAccessFile流的指向既可以作为源,也可以 作为目的地 当需要对一个文件进行读写操作时,可以创建一个指 向该文件的RandomAccessFile流,这样既可以读也 可以写 RandomAccessFile(String name, String mode) RandomAccessFile(File file, String mode) 参数mode取r或rw,决定对流文件的访问权限 方法seek(long a)用来移动RandomAccessFile流指 向的文件的指针,参数a确定文件指针距离文件开头的 字节位置 方法getFilePointer()可以获取当前文件指针的位置
第9章 JSP中的文件操作-JSP实用教程(第4版)-耿祥义-清华大学出版社
9.2 RandomAccessFile类
需要对一个文件进行读写操作时,可以创建一个RandomAccessFile对象, RandomAccessFile对象可以读取文件的数据,也可以向文件写入数据。
RandomAccessFile类的两个构造方法:
• RandomAccessFile(String name,String mode) 参数name用来确定一个文件名, 参数mode取“r”(只读)或“rw”(可读写),决定对文件的访问权利。
example9_2.jsp
2.servlet Example9_2_Servlet.java
3.配置文件web.xml web.xml
9.3 文件上传
用户通过一个JSP页面上传文件给服务器时,form表单必须将ENCTYPE的属性值设成 multipart/form-data,并含有File类型的GUI组件。含有File类型GUI组件的form表单如 下所示:
例子9_3中,用户通过example9_3.jsp页面上传文本文件A.txt。
9.3 文件上传
例子9_3中,用户通过example9_3.jsp页面上传文本文件A.txt。 例子9_3 example9_3.jsp
example9_3_accept.jsp
例子9_4
例子9_4中,通过输入、输出流技术获取文件的内容,即去掉表单的信息。 根据不同用户的session对象互不相同这一特点,将用户提交的全部信息首 先保存成一个临时文件,该临时文件的名字是用户的session对象的id,然 后读取该临时文件的第2行,因为这一行中含有用户上传的文件的名字, 再获取第4行结束的位置,以及倒数第6行结束的位置,因为这两个位置之 间的内容是上传文件的内容,然后将这部分内容存入文件,该文件的名字 和用户上传的文件的名字保持一致,最后删除临时文件。 例子9_4的Web应用程序使用MVC模式(MVC的知识见第7章)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BufferedOutputStream类的一个常用的构造方法是:
BufferedOutputStream(OutputStream out);
向文件B.txt写入字节常用下列方式:
out=new ("B.txt");
BufferedOutputStream BufferedOutputStream(out);
bufferWriter=new
例: example5_6.jsp
本次课授课思路
复习I/O操作 5.5 文件上传
5.1 File类 5.2 使用字节流读取文件 5.3 使用字符流读取文件 5.4 RandomAccessFile类
5.6 文件下载
用户注册在本章中的演练
为什么要字符流
字节流不能直接操作Unicode字符,所以Java提供 了字符流。由于汉字在文件中占用2个字节,如果 使用字节流,读取不当会出现乱码现象,采用字 符流就可以避免这个现象。在Unicode字符中,一 个汉字被看做一个字符。
本次课授课思路
复习I/O操作 5.5 文件上传
5.1 File类 5.2 使用字节流读取文件 5.3 使用字符流读取文件 5.4 RandomAccessFile类
5.6 文件下载
用户注册在本章中的演练
5.2 使用字节流读写文件
• 1、 InputStream
OutputStream
• 2、
• 3、 BufferedInputStream BufferedOutputStream 构造函数
BufferedInputStream类的一个常用的构造方法是:
BufferedInputStream(InputStream in);
读取文件A.txt常用下列方式:
in=new ("A.txt");
BufferedInputStream bufferRead=new BufferedInputStream(in);
创建一个File对象的构造方法有3个: ); directoryPath,String ); f, String );
5.1 File类-方法
File类的对象主要用来获取文件本身的一些信息,例
如文件所在的目录、文件的长度、文件读写权限等,
不涉及对文件的读写操作。
▪
public String getName() ——获取文件的名字。
• void write(char b[]) 向输出流写入一个字符数组。
• void write(char b[],int off,int length)
• 创建目录 example5_2.jsp
• 列出目录中的文件 example5_3.jsp
• 列出指定类型的文件(如.doc) example5_4.jsp – 主要用于选择文ple5_5.jsp
5.1 File类-思考
• File对象能读写文件吗? • File对象怎么获取文件长度?
▪
public boolean canRead() ——判断文件是否是可读的。
▪ public boolean canWrite() ——判断文件是否可被写入。
▪ public boolean exists() ——判断文件是否存在。
▪ public long length() ——获取文件的长度(单位是字节)。
例:giveContent.jsp writeContent.jsp
5.2 使用字节流读写文件BufferedInput/OutputStream
缓冲流作用:流经常和BufferedInputStream流配合使用,
流经常和BufferedOutputStream流配合使用类配合使用 提高读写效率。
Reader类中常用方法:
int read()
int read(char b[])
int read(char b[], int off, int len)
void close()
long skip(long numBytes)
Writer类中常用方法:
• void write(int n) 输出流写入一个字符。
本节 思路
方法 举例
5.2 使用字节流读写文件InputStream/OutputStream
1. 称InputStream类及其子类对象为字节输入流类,称 OutputStream类及其子类对象为字节输出流。
2. 输入流,只提供读的方法;输出流,只提供写的方 法。
3. 注意:int read(**) 如果未读出字节就返回-1,据 此可判断该流是否读取完毕。
5.2 使用字节流读写文件-
类是InputStream的子类。 构造方法: (String name) () 使用构造方法可能发生IOException异常。输入流通过
调用read方法读出源中的数据 。 是OutputStream类的子类。
构造方法: (String name) ()
使用构造方法可能发生IOException异常。输出流通过 调用write方法把字节写入到目的地 。
▪ public String getAbsolutePath() ——获取文件的绝对路径。
▪ public String getParent() ——获取文件的父目录。
▪ public boolean isFile() ——判断文件是否是一个正常文件,
而不是目录。
example5_1.jsp
5.1 File类-举例
所有字符输入流类都是Reader(输入流)抽象 类的子类。
所有字符输出流都是Writer(输出流)抽象类 的子类。
5.3 使用字符流读写文件
• 1、 Reader
Writer
• 2、
• 3、BufferedReader BufferedWriter
构造函数
本节 思路
方法 举例
5.3 使用字符流读写文件- Reader/Writer
第5章 JSP中的文件操 作
5.1 File类
• 1、构造函数 • 2、方法 • 3、举例
– 创建目录(创建目录、列出目录中的文件、列 出指定类型的文件)
– 删除文件和目录
5.1 File类-构造函数
File作用:File对象用来获取文件本身的一些信息。 例如文件所在的目录、文件的长度、文件读写权限 等,不涉及对文件的读写操作。