2010-07-07 85 views
0

我正在开发一个Servlet,它应该列出页面上目录C:\UploadedFiles\CompanyWork上的所有文件,并将每个文件的链接放在每个文件上,就像这个例子一样(使用Test.doc作为测试):列表和链接文件

<a href="C:\UploadedFiles\CompanyWork\Test.doc">Test.doc</a> 

但我不知道如何做到这一点,我只知道如何得到的文件名,并列出它们(这是一个程序,但很容易转换成Servlet的):

public static void main(String args[]) { 
    File root; 
    if (args.length > 0) root = new File(args[0]); 
    else root = new File(System.getProperty("user.dir")); 
    ls(root); 
} 

private static void ls(File f) { 
    File[] list = f.listFiles(); 
    for (File file : list) { 
     if (file.isDirectory()) ls(file); 
     else System.out.println(file); 
    } 
} 

回答

1

写一个简单的servlet(按照tutorisl @http://java.sun.com/developer/onlineTraining/Programming/BasicJava1/servlet.html)。在您的doGet()方法,写出像下面

response.setContentType("text/html"); 
PrintWriter out = response.getWriter(); 

File[] list = f.listFiles(); 
    for (File file : list) { 
     if (file.isDirectory()) ls(file); 
     else out.println("<a href='+file.toURL()+'>'+file.getName()+'</a>"); 
    } 

你可以使用Apache的commons-IO库

简化上市逻辑