1

我想以链接格式显示目录及其文件,也就是说,如果我单击该目录,它应该显示该目录中的文件。我试图将目录作为链接获取,但不知道如何获取文件

我获取目录作为链接的代码。

<%
try{
File dirName = new File("/home/adapco/Desktop/Startest/");

if (dirName.exists()&& dirName.isDirectory())
{
//out.print("path: " + dirName.getAbsolutePath() + "<br>");
String[] allFiles = dirName.list();
for (int i=0; i < allFiles.length; i++)
{
out.println(allFiles[i] + "<br>");
%>
<a href="Startest/<%=allFiles[i]%>"><%=allFiles[i]%></a>
}
}
}
catch (IOException ex){
out.println("Exception Occured");
}
%>

我试图以相同的方式获取文件,但它不起作用

File folder = new File("/home/adapco/Desktop/Startest/");
File[] listOfFiles = folder.listFiles();

我想知道如何获取目录和文件并将它们链接起来以便浏览。

4

1 回答 1

1

folder.listFiles() 的结果是文件和目录的数组。这一切都在那里。您可以使用 file.isDirectory() 或 file.isFile() 来检测它是目录还是文件。

您将拥有映射到“/filesystem/*”的 servlet/controller,您可以提取 filesystem/folder1/folder2 -> folder1/folder2 之后的路径。将您的文件系统添加到此路径,创建文件并返回文件夹的内容。所以到 folder2 的链接将是:

<a href="<c:url value='/filesystem/folder1/folder2'/>">folder2</a>

要在 url 符号中不支持编码,请使用 URLEncoder() 作为文件夹名称。

于 2012-05-30T06:55:52.143 回答