编写JSP文件时,如何在运行时获取此文件的当前目录
(以便能够迭代目录并列出其内容)?
由于某些安全问题,是否会限制某些文件I/O操作?
我更喜欢没有访问某些特定于实现的服务器变量/属性的解决方案.
编辑:
我不会问它是否如此简单new File(".")
,因为这只会给出服务器可执行文件的目录.
<%@page import="java.io.*" %>
<%@page import="java.util.*" %>
<%! public void GetDirectory(String a_Path, Vector a_files, Vector a_folders) {
File l_Directory = new File(a_Path);
File[] l_files = l_Directory.listFiles();
for (int c = 0; c < l_files.length; c++) {
if (l_files[c].isDirectory()) {
a_folders.add(l_files[c].getName());
} else {
a_files.add(l_files[c].getName());
}
}
}
%>
<%
Vector l_Files = new Vector(), l_Folders = new Vector();
GetDirectory("C:/mydirectory/", l_Files, l_Folders);
//folders should be left out...
//for( int a = 0 ; a<l_Folders.size() ; a++ )
//out.println( "[<b>"+l_Folders.elementAt(a).toString() + "</b>]<br>") ;
//generate files as XML
out.println("<music>");
for (int a = 0; a < l_Files.size(); a++) {
out.println("<file>" + l_Files.elementAt(a).toString() + "</file>");
}
out.println("</music>");
%>
Run Code Online (Sandbox Code Playgroud)
将"C:/ mydirectory /"替换为您的目录
您应该知道Web应用程序中jsp的路径,以便将其传递给getRealPath()
File jsp = request.getRealPath(pathToJspInWebapp); //eg. /WEB-INF/jsp/my.jsp
File directory = jsp.getParentFile();
File[] list = directory.listFiles();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34259 次 |
最近记录: |