- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 JSP中文件操作
第8章 JSP中的文件操作;;本章学习目标;8.1 数据流和File类;为了进行文件读写操作,需要用适当的Java I/O类创建对象,这些对象包含从文件中读写数据的方法。
Java I/O中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示:InputStream,OutputStream,Reader,Writer。Java中其它多种多样变化的流均是由它们继承出来的。;以字节为单位进行读写的称为字节流。
字节流分为“输入流”和“输出流”。可以从中读出一系列字节的对象称为“输入流”(Input Stream);而能向其中写入一系列字节的对象则称为“输出流”(Output Stream)
这两种对象分别是由java.io包中的抽象类InputStream和OutputStream来实现的。;;字符流:提供了处理任何类型输入/输出操作的足够的功能,字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串。
Reader:用于读取字符流的抽象类。
子类必须实现的方法只有 read(char[], int, int) 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。用于读取字符流的抽象类。
Writer :写入字符流的抽象类。
子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。;;;8.1.2 File类;可以用来生成File对象的构造函数如下。
File(String directoryPath)
File(String directoryPath,String filename)
File(File dirObj,String filename)
其中,directoryPath是文件的路径名,
filename是文件名,
dirObj是一个指定目录的File对象。
第一个构造函数通过全路径—路径文件名来创建对象,pathname可以是绝对路径也可以是相对路径。
第二个构造函数通过父目录和文件名来创建对象,filename是不含路径的文件名。
第三个构造函数也是通过父目录和文件名来创建对象,但父目录由一个File对象提供。;;方 法;;;;;;8.2 读写文本文件;;;在ServletContext接口中,定义了一个java.io.InputStream getResourceAsStream(java.lang.String path)方法来访问给定的资源。这里的path参数必须以“/”开始(在根目录下)。
一旦获得了InputStream,我们就可以通过这个输入刘读取资源。
由于使用InputStream对象,如果在读取后???对字符进行重新编码,那么对中文将出现乱码问题。而且没有使用缓冲的输入流,它的效率较低。;;;;;写入内容到文件readwriteFile.jsp
PrintWriter类用来将格式化对象打印到一个文本输出流,实现PrintStream中的所有打印方法,其使用方法和读取二进制文件中的BufferedReader类似。在上边的这段代码中,每次向该二进制文件中写入的新内容都会将原来的内容覆盖,如果不想覆盖原来的内容,可以修改如下代码。
PrintWriter writer=new PrintWriter(new BufferedWriter(new FileWriter(“d:\\book.java,true)));
即在创建PrintWriter对象时,添加一个参数true,这样每次向二进制文件内写入新的内容时,就会追加到原来的内容后面。;8.3 文件的浏览;8.4 创建和删除目录;8.5 文件的上传和下载;jspSmartUpload虽然好用,但是提供此包下载的网站已经关闭,您将无法从网站上得到。因此本节还要介绍另外一个被广泛使用的上传包,MultipartRequest,这是由OReilly所开发的免费软件,可到下面的网址中下载使用。
/cos/index.html
com.oreilly.servlet首页,如图所示。来到这个网页的时候,将画面往下拉,在Download区域单击cos-05Nov2002.zip文件的下载连接,选择存储路径,完成下载操作。;;;;;;;jspSmartUpload包;8.7小结
原创力文档


文档评论(0)