JSP中对文件的操作
JSP中对文件的操作是非常重要的,其中要对文件的属性做出描述,要用到File类,它的方法虽然不涉及对文件进行读写操作,但对文件进行描述有着非常重要的作用。
1. 创建File对象
File(String filename)用文件名创建文件对象
File(String directpath,String filename)用文件存储的路径和文件名创建对象
File(File f,String filename)用文件对象和文件名创建对象
特别注意:若不指定路径和目录,则新建的文件位于服务器的默认目录下。
2. 创建目录
Public boolean mkdir()
3. 列出文件和目录
Public String[] list()以字符串数组的方式列出文件和目录
Public File[] list()以File对象的方式列出文件和目录
4. 列出指定条件的文件和目录
Public String[] list(FilenameFilter obj)
Public String[] list(FilenameFilter obj)
FilenameFilter是一个接口,该接口有一个accept方法
Public boolean accept(Flie dir,String name)
具体应用中:在列出指定的类型时,需要先声明一个类,实现FilenameFilter接口的accept方法。在以下的程序片中,先实例化File对象,指定目录,再实例化实现接口的那个类,并以此为参数,形成FilenameFilter对象,继以调用list或listFile方法列出指定的文件。
程序示例:
<%@ page language="java" %>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page errorPage=""%>
<%@ page import="java.io.*"%>
<!DOCTYPE HTML PUBLIC "-//w 3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>file filter</title>
</head>
<body bgcolor="#FFFFFF">
<%!class FileFilterJsp implements FilenameFilter
{String str=null;
FileFilterJsp(String s)
{str="."+s;}
public boolean accept(File dir,String name)
{return name.endsWith(str);}//声明FileFilterJsp类实现FilenameFilter接口的accept方法
}%>
<%File dir=new File("G:/个人材料/设计");
FileFilterJsp file_jsp=new FileFilterJsp("jpg");//实例化FileFilterJsp类,指明所需文件的后缀名
String file_name[]=dir.list(file_jsp);//通过实例化的file_jsp列出所需文件名
for(int i=0;i<file_name.length;i++)
{out.print("<br>"+file_name[i]);}
%>
</body>
</html>