所以我正在努力查看 JSP 页面中的文件。但是,目录中的任何文件夹仅显示为“.DS_Store”,而不是显示所有文件夹及其正确名称。我没有使用过这个线程中的代码: How to list contents of a server directory using JSP?
代码:
<table class="main" id="tableMain">
<thead>
<th scope="col">First</th>
<%@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("/Library/Tomcat/webapps/HelloServlet/uploads", l_Files, l_Folders);
for (int a = 0; a < l_Files.size(); a++) {
out.println("<tr>");
out.println("<td>" + l_Files.elementAt(a).toString() + "</td>");
out.println("</tr>");
}
%>
如有任何帮助,我们将不胜感激,谢谢!
最佳答案
我怀疑,您正在查看空目录的内容? .DS_Store 文件在 MacOS 上由 finder 自动生成。它基本上是一个索引文件,包含当前目录的预览图片和元数据。我相信它们存在于您之前用 finder 打开的目录中。
如果您只在目录中看到 suhc 文件,我怀疑这是因为除了该文件之外该目录是空的。
出于调试目的,您还可以呈现显示的文件和目录的绝对路径(使用.getAbsolutePath()而不是.getName())这可能会给您更好地指示正在发生的事情。
关于Java JSP - 删除 .DS_Store 并显示正确的文件夹名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52429987/