190 likes | 348 Views
JSP 文件操作. JSP 动态 Web 技术. 广东科学技术职业学院. 内容提要. 1. 学习目标. 2. 文件管理器. 3. 网络日记本. 4. 文件上传. 5. 在线测试系统. File 类及常用方法. 字符流及常用方法. 概念和意义. 字符过滤流. 文件和目录操作. 操 作. JSP 文件操作. 文件读写. 文件上传下载. 文件管理器. 网络日记本. 使 用. 文件上传. 在线测试. 学习目标. 掌握 File 类及其常用方法; 使用文件流进行文件的在线读写; 掌握文件上传下载的应用开发技术。.
E N D
JSP文件操作 JSP动态Web技术 广东科学技术职业学院
内容提要 1 学习目标 2 文件管理器 3 网络日记本 4 文件上传 5 在线测试系统
File类及常用方法 字符流及常用方法 概念和意义 字符过滤流 文件和目录操作 操 作 JSP文件操作 文件读写 文件上传下载 文件管理器 网络日记本 使 用 文件上传 在线测试 学习目标 • 掌握File类及其常用方法; • 使用文件流进行文件的在线读写; • 掌握文件上传下载的应用开发技术。
File类 构造方法 • File(String path) • File(String path,String name) • File(File dir,String name) File类 • 什么是文件? 文件可认为是相关记录或放在一起的数据的集合 • File类涉及文件的创建、删除、获取属性等操作,不涉及对文件进行读写操作
File类 构造文件对象 物理文件或目录 操作文件或目录的属性 (路径、权限、日期和时间等) File类应用编程
项目分析 • 获取输入,创建File对象——request对象的getParameter()方法 • 创建目录——mkdir(),创建文件——createNewFile(),删除目录和文件——delete(); • 判断是否创建/删除成功——exists()方法
项目实训 要求 • 输入文件或目录路径; • 选择操作类型 • 选择文件类型 • 输入文件或目录名称 • 操作
预备知识 • 字符流类 • Reader类 • Writer类
BufferedReader和BufferedWiter类 • 字符过滤流,对字符流重新“组装”,数据以块为单位,提高效率; • 用BufferedWriter 写文本文件 • 构造一个BufferedWriter对象 • FileWriter fw=new FileWriter("mytest.txt"); • BufferedWriter bw=new BufferedWriter(fw); • 利用BufferedWriter的方法写文本文件 • bw.write (“hello”); • 相关流对象的清空和关闭 • bw.flush(); • fw.close(); • 用BufferedReader 读文本文件 • 构造一个BufferedReader对象 • FileReader fr=new FileReader("mytest.txt"); • BufferedReader br=new BufferedReader(fr); • 利用BufferedReader的方法读取文本文件的数据 • br.readLine(); //读取一行数据,返回字符串 • 关闭相关的流对象 • br.close(); • fr.close();; 演示:示例
项目分析 • 获取系统时间——Date类的toLocaleString()方法 • 获取目录绝对路径——getServletContext().getRealPath(“/”) • 读取/写入数据——FileReader、FileWriter文件字符流 • 追加写入内容——FileWriter(String name,Boolean append)
课堂实训 • 输入5名学生信息 • 写入文件 • 读取信息
File类型表单 文件域 预备知识 • 表单的ENCTYPE属性 <FORM action="upload.jsp" method="post" ENCTYPE="multipart/form-data"> <INPUT type=file name="file" size="25"> <BR> <INPUT type="submit" name ="g" value="上传"> </FORM> • 文件上传原理 • request调用getInputStream()获得一个输入流; • 处理数据流,读入客户上传的全部信息; • 分析参数和数据,将文件数据进行存储。
项目实现 • 上传页面设计 • 上传实现 项目功能改进 选择图片 图片上传 显示图片 注意:在一个表单中如果有ENCTYPE=“multipart/form-data”属性, 则不能接收除type=File外的其他表单元素类型
表单要求 上传页面设计 上传处理页面 下载链接页面 下载处理 文 件 上 传 文 件 下 载 使用jspSmartUpload上传下载 • 一个可免费使用的全功能文件上传下载组件 • 安装组件
综合实例——在线测试系统 试题使用记事本存储,每道试题用“#”开始
总结与提高 • File 类用于访问文件系统 • 流是指一连串流动的字符,是以先进先出方式发送信息的通道 • 流可以分为输入输出流,也可以分为字节流和字符流 • 运用BufferedReader和BufferedWriter也可以读写文本文件,且性能较高 • 文件上传和下载