使用JSP列出服务器目录的内容

时间:2015-04-17 06:25:16

标签: jsp

我在以下目录中的服务器上有文件:

D:\tomcat8\webapps\schema_files\

我想列出上面目录中的所有文件。

我尝试了什么

<%
String folder=application.getRealPath("D:/tomcat8/webapps/schema_files");
File file=new File(folder);
String fileNames[]=file.list();
System.out.println("fileNames[] : "+fileNames[0]);
%>

它不起作用。

但是,如果我将文件存储在应用程序本身的&#34; / WEB-INF / filefolder&#34;然后跟随代码工作。

   <%
  String folder=application.getRealPath("/WEB-INF/filefolder");
  File file=new File(folder);
  String fileNames[]=file.list();
  System.out.println("fileNames[] : "+fileNames[0]);
  %>

请帮帮我..

3 个答案:

答案 0 :(得分:1)

您可以使用application.getRealPath(String args0)application.getContextPath()指向您的服务器目录,如下所示:

File file=new  File(application.getRealPath(application.getContextPath())); 
String fileNames[]=file.list();
for(int i=0;i<fileNames.length;i++)
    System.out.println(fileNames[i]);

application是JSP中可用的隐式对象,就像sessionrequest一样。

答案 1 :(得分:0)

这是有效的,但可能有更好的方法,明确的JSP

<%
 File file=new File("D:\\tomcat8\\webapps\\schema_files");
 String fileNames[]=file.list();
 System.out.println("fileNames[] : "+fileNames[0]);
%>

答案 2 :(得分:0)

<%=request.getContextPath()%>可以为您提供应用程序的根路径,以便它可以像localhost:port/yourappname一样。然后你需要做的就是将它分配给其他变量,比如字符串路径,并添加子文件夹路径或其他东西。

示例:

<%=request.getContextPath()%>/folder1/folder2/webpage.html