我在以下目录中的服务器上有文件:
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]);
%>
请帮帮我..
答案 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中可用的隐式对象,就像session
和request
一样。
答案 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