该类通过JSP页面提供的文件路径地址,列出该文件路径下的所有文件,并以TREE的方式显示。
JSP调用类:
<%@page language="java" import="java.util.*" pageEncoding="gb2312"
isELIgnored="false"%>
<%@page buffer="none"%>
<%@page import="java.sql.*"%>
<%@page import="com.util.js.*"%>
<%@page import="java.io.File"%>
<%@include file="../../../../include/inc/top.inc"%>
<%@include file="../../../../include/inc/tree.inc"%>
<head>
</head>
<%
String confPath = request.getRealPath("/conf").replace("\\","/");
Tree tb = new Tree();
tb.out=out;
tb.session=session;
tb.request =request;
tb.title="";
tb.root="conf";
tb.printTree(confPath);
%>
JAVA类:
package com.util.js;
import java.io.File;
public class Tree {
public javax.servlet.jsp.JspWriter out = null;
public javax.servlet.http.HttpSession session = null;
public javax.servlet.http.HttpServletRequest request = null;
public String title="";
public String root="";
public void printTree(String FilePath)
{
try {
File file = new File(FilePath);
if(file.exists())
{
if("".equals(root)||root==null)
{
root="root";
}
out.println("<div id=\"main\">");
out.println("<ul id=\"browser\" class=\"filetree treeview-famfamfam\">");
out.println("<li>");
out.println("<span class=\"folder\">"+root+"</span>");
out.println("<ul>");
listFile(file.listFiles());
out.println("</ul>");
out.println("</li>");
out.println("</ul>");
out.println("</div>");
}
else
{
out.println("<font color='red'>该目录下没有文件或文件夹不存在!</a>");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void listFile(File[] files)
{
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
try {
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory())
{
out.println("<li class=\"closed\">");
out.println("<span class=\"folder\">" + files[i].getName()+ "</span>");
out.println("<ul>");
listFile(files[i].listFiles());
out.println("</ul>");
out.println("</li>");
}
else
{
String fileAbsolute = files[i].getAbsolutePath();
String filePath = fileAbsolute.toString().substring(fileAbsolute.toString().lastIndexOf(root),fileAbsolute.toString().length());
filePath=filePath.replace("\\","/");
//System.out.println("^^^"+filePath);
out.println("<li>");
out.println("<span class=\"file\"><a onclick=\"window.open('"+basePath+filePath+"');\">"+files[i].getName()+"</a></span>");
out.println("</li>");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
//File file = new File("E:\\Tomcat 6.0\\webapps\\BackUpFileAlarmSystem\\conf");
//listFile(file.listFiles());
}
}
分享到:
相关推荐
本篇将深入探讨如何实现一个非递归的、支持多个顶级节点的通用工具类来完成这一任务。 首先,我们需要理解“list转树状结构”的概念。在这个问题中,我们通常有一个扁平化的数据列表,其中每个元素代表一个节点,...
在Java编程中,TreeUtil工具类是一个非常实用的辅助类,尤其在处理树形数据结构时。树形结构广泛应用于各种场景,如文件系统、组织结构、菜单系统等。TreeUtil通常包含一系列静态方法,方便开发者对树节点进行操作,...
在IT领域,B+树(B Plus Tree)是一种常见的数据结构,广泛应用于数据库索引、文件系统以及其他需要高效检索的数据存储系统中。B+树的特点是平衡性、分层结构和所有叶子节点在同一层,这使得它在处理大量数据时具有...
在Java编程语言中,"树"(Tree)是一种非线性的数据结构,它模拟了自然界中的树状层次关系。在计算机科学中,树被广泛应用于各种算法和数据存储,如文件系统、数据库索引、图形表示等。Java提供了多种方式来实现和...
本话题涉及的是一个自定义的工具类,用于处理ExtJS库中的Ext.tree组件,该组件通常用来展示层级结构的数据,比如文件系统或者组织架构。这个工具类的核心功能是获取JSON格式的数据,并将其动态加载到Ext.tree中。 ...
C#2005自定义checkbox控件DLL,不要资源分,欢迎大家下载!
其中,PowerTree作为一款专注于配电网络(PDN)设计的工具,正受到越来越多设计工程师和电源完整性工程师的青睐。它不仅提供了基于原理图的电源早期视图,还有助于优化PDN的设计与性能。本文将系统地介绍PowerTree...
为了更好地理解KDTree的结构,可以使用可视化工具,如`matplotlib`,配合`KDTree`的`to_graphviz`方法来展示树的结构。虽然这里没有具体的代码示例,但通常的做法是先构建KDTree,然后将其转换为图形表示,并使用`...
遗传算法组卷实例。Apriori算法FPTree算法工具类。_suanfa
"List转树形结构工具类"是一个实用的工具,它可以帮助开发者将扁平化的数据结构(如List)转换为层次化的树形结构。这在处理组织结构、文件系统、菜单栏等场景时非常有用。下面我们将深入探讨这个工具类的工作原理、...
总的来说,"tree(c++ tree容器)"是一个旨在简化C++开发中树结构使用的工具,它提供了与STL兼容的接口,并可能包含了多种类型的树结构,适用于需要处理树形数据的场景。通过这个库,开发者无需深入理解底层树结构的...
### three.js工具类知识点 #### 一、Three.js概述与模型加载 - **Three.js**:是一个基于WebGL的3D库,它简化了复杂的3D图形编程,并提供了丰富的API来帮助开发者创建交互式的3D应用程序。 - **模型加载**:在本...
在Windows操作系统中,`tree`命令是一个非常实用的工具,用于以树状图的形式显示当前目录及其子目录的结构。这个命令可以帮助用户快速地理解文件和目录的层次关系,尤其在处理复杂的文件系统时。然而,`tree`命令...
在使用"devicetree_v221"这类工具时,开发者可以查看到驱动程序的详细信息,比如驱动对象的创建时间、设备对象的层级关系,甚至可以观察到设备对象在系统中的I/O请求行为。这对于理解和调试驱动程序的运行过程、优化...
在IT开发过程中,工具类和字符串处理工具是程序员日常工作中不可或缺的部分。本资源提供了一个名为"StringUtil"的自定义工具类,以及一个用于Excel导出的功能。这些工具可以帮助开发者简化代码,提高效率,同时附带...
分类专用工具 里面是几个源码以及一些说明
* 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...
在Java中,`java.util.TreeSet`和`java.util.TreeMap`是两个常用的类,它们基于红黑树(Red-Black Tree)算法实现,提供了有序的存储和高效的操作。 动态树列表(TreeList)是一种增强的树形视图,它结合了树和列表...
`lemontree`是一个专门设计用于操作树形结构的JavaScript工具库,它提供了一系列实用的函数,帮助开发者更高效地处理这些复杂的结构。 首先,我们要理解什么是树形结构。在计算机科学中,树是一种非线性的数据结构...
工具类中包括存放hash表键值对,键值对以map的方式储存,删除键值对,永久存放键值对,设置过期时间,需要的直接去gitHab上看https://github.com/1610220353/advancedGiants/tree/master/src/main