CH5 JSP中的文件操作.ppt_第1页
CH5 JSP中的文件操作.ppt_第2页
CH5 JSP中的文件操作.ppt_第3页
CH5 JSP中的文件操作.ppt_第4页
CH5 JSP中的文件操作.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、对于CH5 JSP中的文件操作,有时服务器需要将用户提交的信息保存到文件中,或者根据用户的要求将服务器上的文件内容显示给客户端。JSP通过Java的iostream实现文件的读写操作。5.1文件类,文件类的对象用于获取文件本身的一些信息。例如,文件所在的目录、文件的长度、读写文件的权限等。不涉及文件的读写。创建文件对象有三种构造方法:1)文件(字符串文件名);2)文件(字符串目录路径,字符串文件名);3)文件(文件f,字符串文件名);注意: 1)构造器参数文件名是文件名,它与当前应用程序在同一个目录中,即在JSP引擎的bin目录下。CH5 JSP中的文件操作,5.1文件类,1。通常用于获取文件

2、属性的文件类的相关方法是:公共字符串getName()获取文件的名称。公共布尔值canRead()确定文件是否可读。公共布尔值canWrite()确定是否可以写入文件。公共布尔值exists()确定文件是否存在。公共长长度()获取文件的长度(以字节为单位)。公共字符串getAbsolutePath()获取文件的绝对路径。公共字符串getParent()获取文件的父目录。Public boolean isFile()确定文件是否是普通文件,而不是目录。公共布尔值IsDirectory()确定文件是否为目录。公共布尔值isHidden()确定文件是否隐藏。Public long lastModif

3、ied()获取文件的上次修改时间,以毫秒为单位。CH5 JSP文件操作,示例5-1示例5 _ 1。JSP文件可读吗?文件长度:字节jasper.sh是目录吗?父目录的绝对路径是: 5.1文件类,示例5-1运行结果,5.1文件类,5.1文件类,2。创建目录1)创建目录。公共布尔mkdir()文件对象调用方法来创建目录,如果创建成功,则返回true,否则返回false。示例5-2示例5_2.jsp创建一个新目录:STH5下的学生。它是否已成功创建?学生是一个目录吗?5.1文件类,2。创建目录2)在目录中列出文件如果文件对象是目录,调用以下方法列出文件和子目录。公共字符串列表()以字符串的形式返回目

4、录中的所有文件。公共文件列表文件()以文件对象的形式返回目录中的所有文件。例5-3例5_3.jsp,5.1文件类,2)列出目录中的文件例5-3例5_3.jsp目录:filei . ToString();%文件名:filei . ToString();%,5.1文件类,2)在目录中列出文件示例5-3示例5_3_2。%,5.1文件类,2。创建目录3)列出指定类型的文件公共字符串列表(filename filter obj)此方法以字符串形式返回目录中指定类型的所有文件。公共文件列表文件(filename filter obj)此方法使用文件对象返回目录下指定类型的所有文件。5.1文件类,2。创建目

5、录3)列出指定类型的文件示例5-4示例5_4.jsp,5.1文件类,2。创建目录3)列出指定类型的文件示例5-4示例5_4.jsp STH5 jsp文件: file _ name I);%,5.1文件类,3。删除文件和目录文件对象调用方法:公共布尔删除();您可以删除由当前对象表示的文件或目录。如果文件对象代表一个目录,则该目录必须为空目录,成功删除将返回true。示例5-5示例5 _ 5.jsp文件是否已成功删除?该目录是否已成功删除?5.2使用字节流读写文件,java.io包提供了大量的流类。输入流:使用读取方法读取数据输出流:使用写入方法写出数据字节输入流:输入流类及其子类对象字节输出流

6、:输出流类及其子类对象字符输入流:读取器(输入流)抽象类及其子类字符输出流:写入器(输出流)抽象类及其子类5.2使用字节流读取和写入文件,输入流类的常用方法:int read()读取单字节数据如果字节未被读取,它将返回-1。Int read(byte b)尝试将b.length字节从源读取到字节数组b中,并返回读取的实际字节数。如果到达文件末尾,则返回-1。Int read(byte b,int off,int len)尝试将len字节从源读取到字节数组b中,并返回读取的实际字节数。如果到达文件末尾,则返回-1。参数off指定存储从字节数组中某个位置读取的数据。Void close()关闭输入

7、流。长跳过(长数字字节)跳过数字字节并返回实际跳过的字节数。5.2使用字节流读写文件。OutputStream类的常用方法:空写(int n) Output stream调用此方法将单个字节写入输出流。void write(byte b)输出流调用此方法将字节数组写入输出流。Void write(byte b,int off,int len)从offset off开始从给定字节数组中获取len字节,并将它们写入输出流。Void close()关闭输出流。5.2使用字节流读写文件,1。文件输入流和文件输出流类文件输入流类是输入流的子类。构造方法:文件输入流(字符串名称)文件输入流(文件文件)输入

8、流通过调用read方法读取源中的数据。使用构造函数时可能会出现IOException异常(需要异常处理)。示例:尝试文件输入流instream=新文件输入流(“demo . dat”);/文件演示=新文件(“演示数据”);/文件输入流输入流=新文件输入流(DeMof);“读取文件错误!”e . ToString();5.2使用字节流读写文件,1。文件输入流和文件输出流类文件输出流是输出流类的一个子类。构造方法:文件输出流(字符串名称)文件输出流(文件文件)输出流通过调用写方法写出数据。使用构造函数时可能会出现IOException异常(需要异常处理)。注意:当文件输入流(字符串名称)和文件输出

9、流(字符串名称)的构造方法中的字符串参数只是文件名时,文件必须与应用程序在同一目录中。也就是说,它默认为JSP服务器的bin目录。5.2使用字节流读写文件,2。缓冲区输出流和缓冲区输出流类一起使用,以提高读写效率:文件输入流和缓冲区输出流一起使用,文件输出流和缓冲区输出流一起使用。BufferedInputStream类的常用构造方法:BufferedInputStream(InputStream in);示例:通常使用以下方法读取文件:文件输入流in=新文件输入流(a . txt);bufferendinputstream bufferRead=新的bufferendinputstream(

10、in);5.2使用字节流读写文件,2。缓冲输出流和缓冲输出流类缓冲输出流类的通用构造方法:缓冲输出流(输出流输出);示例:通常使用以下方法将字节写入文件:文件输出流输出=新文件输出流;缓冲区输出流缓冲区写入器=新缓冲区输出流(输出);5.2使用字节流读写文件。缓冲区输出流和缓冲区输出流类示例5-6示例5 _ 6。很高兴见到你。5.2使用字节流读写文件。缓冲区输出流和缓冲区输出流类示例5-6示例S5 _ 6。JSP缓冲输出。写(b);buffer out . flush();buffer out . close();outfile . close();文件输入流in=新文件输入流(f);Buff

11、eredInputStream bufferin=新的bufferendinputstream(in);字节c=新字节90;int n=0;(n=bufferin.read(c)!=-1)字符串温度=新字符串(c,0,n);打印(临时);5.2使用字节流读写文件。缓冲区输出流和缓冲区输出流类示例5-6 P114示例S5 _ 6。JSP Bufferin . close();in . close();5.3使用字符流读写文件,字节流不能直接操作Unicode字符,所以Java提供了字符流。由于汉字在文件中占2个字节,如果使用字节流,读错时会出现乱码,使用字符流可以避免。在Unicode字符中,汉

12、字被视为一个字符。所有字符输入流类都是阅读器抽象类的子类。所有字符输出流类都是Writer抽象类的子类。Reader类中的常用方法:int read()int read(char b)int read(char b,int off,int len)void close()long skip(long numbytes),5.3使用字符流读写文件,Writer类中的常用方法:void write(int n)输出流写字符。Void write(char b)将字符数组写入输出流。无效写入(char b,int off,int length)从偏移量off开始从给定字符数组中获取长度字符,并将它们

13、写入输出流。Void close()关闭输出流。1.文件读取器和文件写入器类文件读取器类是读取器的子类,文件写入器类是写入器的子类。文件阅读器构造方法:文件阅读器(字符串文件名)文件阅读器(文件文件)参数类似于文件输入流的参数。输入流通过调用read方法读出源中的数据。使用构造函数时可能会出现IOException异常(需要异常处理)。5.3使用字符流读写文件,1。文件读取器和文件写入器类文件写入器构造方法:文件写入器(字符串文件名)文件写入器(文件文件)参数类似于文件输出流的参数。输出流通过调用write方法写出数据。使用构造函数时可能会出现IOException异常(需要异常处理)。5.3使用字符流读写文件,2。缓冲读取和缓冲写入类一起使用来提高读写效率:文件读取流通常与缓冲读取流一起使

温馨提示

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

评论

0/150

提交评论