1、第六章 JSP文件操作,西南科技大学网络教育系列课程 动态网页设计(JSP),application对象,服务器启动,产生application对象,为用户分配application对象。 不同客户产生同一个session对象; 所有客户的application对象都是同一个。 例如:聊天室程序、计数器程序、留言板程序。 生命周期:服务器的启动至关闭。,application对象的方法,getAttribute (String name),getAttributeNames(),getInitParameter(),getServletInfo(),setAttribute(String na
2、me, Object value),实例:网站计数器CounterApp1.jsp,out对象,out对象是javax.servlet.jsp.JspWriter类的一个子类的对象,它的作用是把信息回送到客户端的浏览器中。在out对象中,最常用的方法就是print()和println()。在使用print()或println()方法时,由于客户端是浏览器,因此向客户端输出时,可以使用HTML中的一些标记,例如:out.println(”Hello,JSP“);。,out对象,其他一些常用的方法:,out.write功能和out.print相同,newLine()的功能是输出一个换行符,out.
3、flush()的功能是输出缓冲的内容。,out.close()的功能是关闭输出流。,out对象的生命周期是当前页面。因此对于每一个JSP页面,都有一个out对象,Out对象,实例:用out对象输出表格outApp1.jsp小结,文件类,类File有3个常用构建器: File(String fileName)File(String directory, String fileName)File(File directory, String fileName),File file1 = new File(“/“);File file2 = new File(“/”, “test“);File fi
4、le3 = new File(file1, “test“);,File类的属性方法,boolean canRead() 检测一个文件是否可读。,boolean createNewFile() 如果File所表示的文件不存在则创建一个新的空文件,创建成功返回true,失败则返回false。,boolean delete() 删除File所表示的文件或目录,删除目录要求该目录为空,返回值表示删除动作是否成功。,boolean mkdirs() 创建一个目录。,boolean renameTo(File destination) 对一个文件改名或移动。,boolean isDirectory() 检
5、测File对象表示的是否为目录。,public boolean isFile() 检测File对象表示的是否为文件。,File类的属性方法,String getParent() 如果File对象指定了父目录,则返回父目录名,否则返回一个null值。,boolean canWrite() 检测一个文件是否可写。,boolean exists() 检测一个文件是否存在。,String list() 获取File所表示的目录下的文件和目录列表。,long lastModified() 返回文件最后修改时间。时间为基于1970-01-01 00:00:00的毫秒数。,String getPath()
6、返回相对路径名(包括文件名)。,String getAbsolutePath() 返回完全路径名。,String getName() 返回File对象所表示对象的文件名或目录名。,实例:File类常用方法示例fileExample1.jsp,用FILE类操作目录,1.新建目录,用mkdir()方法创建目录,File类的方法mkdir()和mkdirs()可以用来创建目录,这两个方法的区别在于mkdirs()可以创建目录路径中多层目录,即同时创建这个目录的父目录以及父目录的父目录,而mkdir()要求创建目录的父目录已存在。,2.列出目录中的文件,可以用list()和listFiles()方法,
7、实例:列出目录下所有文件和文件夹 fileExample2.jsp,用FILE类操作目录,在很多情况下我们可能要根据文件名对文件进行过滤,这个时候就需要调用文件过滤方法。public String list(FilenameFilter filter) 其中FilenameFilter是一个接口,其中声明了一个抽象方法:boolean accept(File dir, String name);通过实现这个接口就可以进行文件名过滤。,fileExample2-xg.jsp,字节流,输入流(InputStream)和输出流(OutputStream)构成字节流的祖先,这两个类直接继承了Objec
8、t类。InputStream和OutputStream都是抽象类,Input Stream为其他所有字节输入流的超类,而OutputStream为其他所有字节输出流的超类。 下面为字节输入流的类层次结构。,字节输入流,InputStream的方法:,public abstract int read() throws IOException,public int read(byte b) throws IOException,public int read(byte b, int off, int len) throws IOException,public int available() th
9、rows IOException,public long skip(long n) throws IOException,public void close()throws IOException,文件输入流,构造方法FileInputStream (File )FileInputStream(String ),Java的某一类流,本身并不和具体的数据源和数据目标连接,它们连接在其他输入或输出流上,提供各种数据处理,诸如转换、缓存、加密、压缩等功能,这类流称为过滤器流(filter stream)。过滤器输入流从已存在的输入流(比如FileInputStrem)读取数据,对数据进行适当的处理和
10、改变然后再送入程序。过滤器输出流向已存在的输出流(比如FilterOutputSteam)写入数据,在数据抵达底层流之前进行转换处理等工作。,过滤器流,过滤器输入流FilterInputStream和过滤器输出流FilterOutputStream分别为InputStream和OutputStream的子类。 FilterInputStream的构建器如下:protected FilterInputStream(InputStream in) FilterOutputStream的构建器如下:public FilterOutputStream(OutputStream out),缓冲流:Buf
11、feredInputStream 和BufferedOutputStream,BufferedInputStream(InputStream InputStreamName),BufferedInputStream(InputStream InputStreamName,int BufferSize),实例:利用字节流读取文件中的内容 fileInputStreamExample1.jsp,字节输出流,常用方法:,public abstract void write(int b) throws IOException,public void write(byte b) throws IOExc
12、eption,public void write(byte b, int off, int len) throws IOException,public void flush() throws IOException,public void close() throws IOException,文件输出流,Public FileOutputStream(String name) throws FileNotFoundException,public FileOutputStream(String name, boolean append) throws FileNotFoundException,Public FileOutputStream(File fileObjectname) throws FileNotFoundException,过滤流,BufferedOutputStream(OutputStream OutputStreamName),BufferedOutputStream(OutputStream OutputStreamName,int BufferSize),实例:利用字节流把内容写入文件 fileOutputStreamExample1.jsp,
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1