方法1:
JSP遍历文件目录
<%--Listfile.jsp--%>
<%@ page import="java.io.File"%>
<%@ page contentType="text/html;charset=GB2312" language="java" %>
<html> <head><title>遍历文件目录</title></head>
<body>
<%!
public void travelDirectory(String directory,JspWriter out)
{
File dir = new File(directory);
if(dir.isFile()) //判断是否是文件,如果是文件则返回。
return;
File [] files=dir.listFiles(); //列出当前目录下的所有文件和目录
for(int i=0;i<files.length;i++)
{
if(files[i].isDirectory()) //如果是目录,则继续遍历该目录
travelDirectory(files[i].getAbsolutePath(),out);
out.println( files[i].getName()); //输出该目录或者文件的名字
}
} %> <%
//将当前web程序目录结构输出到控制台
String dir=pageContext.getServletContext().getRealPath("/images");
out.println("--------------------------------");
travelDirectory(dir,out);
out.println("--------------------------------");
%>
</body>
</html>
方法2:
//*********************************
File parentDirectory = null;//当前目录
ArrayList [] file = null;//存放当前目录中所有的文件
ArrayList [] directory = null;//存放当前目录中所有的目录
String [] temp = null;//临时数组 存放当前目录中所有的文件和目录的绝对路径加完整名字的字符串
File tempFile = null;
if(request.getParameter("directory")==null)
{
parentDirectory = new File("C://temp");//第一次使用SERVLET为访问对象 使用默认目录
}
else
{
//第二次或者以后访问的时候 使用页面提交的目录为默认目录
parentDirectory = new File(request.getParameter("directory"));//
}
temp = parentDirectory.list();//提取当前目录中所有的文件和目录的绝对路径加完整名字的字符串
for(int i = 0 ; i<list.length() ; i++ ){
//进行判断 是目录的放入directory集合中 文件的放入file集合中
tempFile = new File(temp)
if(tempFile.isDirectory())
directory.add(tempFile);
else
file.add(tempFile);
}
//*********************************
然后在JSP页面中使用那两个集合显示出目录和文件
目录可以使用超级连接 再次调用上面的Servlet
"DisplayFile?directory=<%((File)file.get(i)).getName()%>"