代码之家  ›  专栏  ›  技术社区  ›  Nathan Campos

列出和链接文件

  •  0
  • Nathan Campos  · 技术社区  · 14 年前

    我正在开发一个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 回复  |  直到 14 年前
        1
  •  1
  •   Aravind Yarram    14 年前

    编写一个简单的servlet(跟随tutorislis@ 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>");
        }
    

    您可以使用ApacheCommonsIO库简化列表逻辑。