<%@ page contentType="text/xml" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.lang.*"%>
<%
final String parentdir="/";
class gettree{
    void gettree(String dir)
    {
        if(dir.equals("/"))
            {
        System.out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
        System.out.println("<dirs>");
        }
        File file=new File(dir.toString());
        File[] list=file.listFiles();
        for(int i=0;i<list.length;i++)
        {
                if(list[i].isDirectory())
                    {
                        final String thisdir=list[i].toString();
                        gettree(thisdir);
                    }
                    else
                    {
                        System.out.println("<filename id=\""+parentdir.toString()+"/"+list[i].getName()+"\">");
                    }
        }
        System.out.println("</dirs>");
    }
}gettree g=new gettree();
g.gettree(parentdir);
    
%>

解决方案 »

  1.   

    答:参考代码如下(已测试成功):<%@ page import="java.util.*"%> 
    <%@ page import="java.io.*"%> 
    <%@ page import="java.lang.*"%> 
    <% 
    final String parentdir="/"; 
    class gettree{ 
        void gettree(String dir) 
        { 
            if(dir.equals("/")) 
                { 
            System.out.println(" <?xml version=\"1.0\" encoding=\"utf-8\"?>"); 
            System.out.println(" <dirs>"); 
            } 
            File file=new File(dir.toString()); 
            File[] list=file.listFiles(); 
            for(int i=0;i <list.length;i++) 
            { 
                    if(list[i].isDirectory()) 
                        { 
                            final String thisdir=list[i].toString(); 
                            gettree(thisdir); 
                        } 
                        else 
                        { 
                         String path=list[i].toString().replaceAll("\\\\", "/");
                            System.out.println(" <filename id=\""+path+"\">"); 
                        } 
            } 
            if(dir.equals("/")) 
              System.out.println(" </dirs>"); 
        } 
    } gettree g=new gettree(); 
    g.gettree(parentdir); 
        
    %>