第九章 JSP 中的文件操作
9.1 File 类
File 对象用来获取文件本身的一些信息,例如文件所在的目录、文件的长度、文件读写权限等,不涉及对文件的读写操作。
File 类的构造方法有 3 个:
1 | File(String filename); |
9.2 RandomAccessFile 类
需要对一个文件进行读写操作时,可以创建一个 RandomAccessFile 对象,RandomAccessFile 对象可以读取文件的数据,也可以向文件写入数据。
RandomAccessFile 类的构造方法有 2 个:
1 | RandomAccessFile(String name, String mode); // 参数 name 用来确定一个文件名,参数 mode 取"r"(只读)或"rw"(可读写)决定对文件的访问权限 |
9.3 文件上传
用户通过一个 JSP 页面上传文件给服务器时,form 表单必须将 ENCTYPE
的属性值设成 multipart/form-data,并含有 File 类型的 GUI 组件。
含有 File 类型 GUI 组件的 form 表单如下所示:
1 | <form action="JSP 页面或 servlet" method="post" ENCTYPE="multipart/form-data"> |
Tomcat 服务器可以让内置对象 request 调用方法 getInputStream()
获得一个输入流,通过这个输入流读入用户上传的全部信息,包括文件的内容以及表单域的信息。
9.4 文件下载
JSP 内置对象 response 调用方法 getOutputStream()
可以获取一个指向用户的输出流,服务器将文件写入这个流,用户就可以下载这个文件了。当提供下载功能时,应当使用 response 对象向用户发送 HTTP 头信息,这样用户的浏览器就会调用相应的外部程序打开下载的文件。
response 调用 setHeader 方法添加下载头的格式如下:
1 | response.setHeader("Content-disposition", "attachment;filename=文件名"); |
返回目录 上一章