`
baobeituping
  • 浏览: 1068268 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Tree的工具类

阅读更多

该类通过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转树状结构通用工具类

    本篇将深入探讨如何实现一个非递归的、支持多个顶级节点的通用工具类来完成这一任务。 首先,我们需要理解“list转树状结构”的概念。在这个问题中,我们通常有一个扁平化的数据列表,其中每个元素代表一个节点,...

    TreeUtil工具类

    在Java编程中,TreeUtil工具类是一个非常实用的辅助类,尤其在处理树形数据结构时。树形结构广泛应用于各种场景,如文件系统、组织结构、菜单系统等。TreeUtil通常包含一系列静态方法,方便开发者对树节点进行操作,...

    B+ tree的java实现

    在IT领域,B+树(B Plus Tree)是一种常见的数据结构,广泛应用于数据库索引、文件系统以及其他需要高效检索的数据存储系统中。B+树的特点是平衡性、分层结构和所有叶子节点在同一层,这使得它在处理大量数据时具有...

    java 树 tree

    在Java编程语言中,"树"(Tree)是一种非线性的数据结构,它模拟了自然界中的树状层次关系。在计算机科学中,树被广泛应用于各种算法和数据存储,如文件系统、数据库索引、图形表示等。Java提供了多种方式来实现和...

    自己写的一个动态从后台数据库加载Ext.tree的json数据工具类

    本话题涉及的是一个自定义的工具类,用于处理ExtJS库中的Ext.tree组件,该组件通常用来展示层级结构的数据,比如文件系统或者组织架构。这个工具类的核心功能是获取JSON格式的数据,并将其动态加载到Ext.tree中。 ...

    C#2005自定义checkbox控件DLL

    C#2005自定义checkbox控件DLL,不要资源分,欢迎大家下载!

    PowerTree中文教程

    其中,PowerTree作为一款专注于配电网络(PDN)设计的工具,正受到越来越多设计工程师和电源完整性工程师的青睐。它不仅提供了基于原理图的电源早期视图,还有助于优化PDN的设计与性能。本文将系统地介绍PowerTree...

    KDTree分类python代码

    为了更好地理解KDTree的结构,可以使用可视化工具,如`matplotlib`,配合`KDTree`的`to_graphviz`方法来展示树的结构。虽然这里没有具体的代码示例,但通常的做法是先构建KDTree,然后将其转换为图形表示,并使用`...

    遗传算法组卷实例。Apriori算法FPTree算法工具类。_suanfa.zip

    遗传算法组卷实例。Apriori算法FPTree算法工具类。_suanfa

    list转树形结构工具类

    "List转树形结构工具类"是一个实用的工具,它可以帮助开发者将扁平化的数据结构(如List)转换为层次化的树形结构。这在处理组织结构、文件系统、菜单栏等场景时非常有用。下面我们将深入探讨这个工具类的工作原理、...

    tree(c++ tree容器)

    总的来说,"tree(c++ tree容器)"是一个旨在简化C++开发中树结构使用的工具,它提供了与STL兼容的接口,并可能包含了多种类型的树结构,适用于需要处理树形数据的场景。通过这个库,开发者无需深入理解底层树结构的...

    three.js工具类

    ### three.js工具类知识点 #### 一、Three.js概述与模型加载 - **Three.js**:是一个基于WebGL的3D库,它简化了复杂的3D图形编程,并提供了丰富的API来帮助开发者创建交互式的3D应用程序。 - **模型加载**:在本...

    windows下tree命令生成的文件解析为绝对路径的工具

    在Windows操作系统中,`tree`命令是一个非常实用的工具,用于以树状图的形式显示当前目录及其子目录的结构。这个命令可以帮助用户快速地理解文件和目录的层次关系,尤其在处理复杂的文件系统时。然而,`tree`命令...

    devicetree_v221

    在使用"devicetree_v221"这类工具时,开发者可以查看到驱动程序的详细信息,比如驱动对象的创建时间、设备对象的层级关系,甚至可以观察到设备对象在系统中的I/O请求行为。这对于理解和调试驱动程序的运行过程、优化...

    导出工具类和字符串简易处理工具类和API文档

    在IT开发过程中,工具类和字符串处理工具是程序员日常工作中不可或缺的部分。本资源提供了一个名为"StringUtil"的自定义工具类,以及一个用于Excel导出的功能。这些工具可以帮助开发者简化代码,提高效率,同时附带...

    KDtree空间数据分类

    分类专用工具 里面是几个源码以及一些说明

    Java解析XML工具类--(java源码)

    * 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...

    java中的tree

    在Java中,`java.util.TreeSet`和`java.util.TreeMap`是两个常用的类,它们基于红黑树(Red-Black Tree)算法实现,提供了有序的存储和高效的操作。 动态树列表(TreeList)是一种增强的树形视图,它结合了树和列表...

    lemontree作为js操作树形结构工具

    `lemontree`是一个专门设计用于操作树形结构的JavaScript工具库,它提供了一系列实用的函数,帮助开发者更高效地处理这些复杂的结构。 首先,我们要理解什么是树形结构。在计算机科学中,树是一种非线性的数据结构...

    redis工具类以及redis 连接池配置

    工具类中包括存放hash表键值对,键值对以map的方式储存,删除键值对,永久存放键值对,设置过期时间,需要的直接去gitHab上看https://github.com/1610220353/advancedGiants/tree/master/src/main

Global site tag (gtag.js) - Google Analytics