为了账号安全,请及时绑定邮箱和手机立即绑定

Java JSP - 删除 .DS_Store 并显示正确的文件夹名称

Java JSP - 删除 .DS_Store 并显示正确的文件夹名称

鸿蒙传说 2021-09-29 17:50:06
所以我正在查看 JSP 页面中的文件。但是,目录中的任何文件夹仅显示为“.DS_Store”,而不是显示具有正确名称的所有文件夹。<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>");        }    %> 
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

我怀疑,您正在查看空目录的内容?.DS_Store 文件由 finder 在 MacOS 上自动生成。它基本上是一个索引文件,包含当前目录的预览图片和元数据。我相信它们存在于您之前使用 finder 打开的目录中。

如果您只在目录中看到 suhc 文件,我怀疑这是因为该目录是空的,除了该文件。

出于调试目的,您还可以呈现显示的文件和目录的绝对路径(使用.getAbsolutePath()而不是.getName())这可能会让您更好地了解正在发生的事情。


查看完整回答
反对 回复 2021-09-29
?
RISEBY

TA贡献1856条经验 获得超5个赞

这不会删除 .DS_Store 目录,但它会列出目录中的文件夹以及文件:


String file = application.getRealPath("/safe");

File f = new File(file);

String [] fileNames = f.list();

File [] fileObjects= f.listFiles();

for (int i = 0; i < fileObjects.length; i++) {

    if(!fileObjects[i].isFile() || !fileObjects[i].isDirectory()){

    String fname = file+fileNames[i];

    out.print("<tr>");

    out.println("<td>" + fileNames[i] + "</td>");

    out.print("</tr>");


查看完整回答
反对 回复 2021-09-29
  • 2 回答
  • 0 关注
  • 242 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信