Java 递归遍历组织树
来源:互联网 发布:全民枪战怒龙改38数据 编辑:程序博客网 时间:2024/06/14 01:34
给定目录,遍历所有子目录
import java.io.File;public class Test { // 文件所在的层数 private int fileLevel; /** * 生成输出格式 * @param name 输出的文件名或目录名 * @param level 输出的文件名或者目录名所在的层次 * @return 输出的字符串 */ public String createPrintStr(String name, int level) { // 输出的前缀 String printStr = ""; // 按层次进行缩进 for (int i = 0; i < level; i ++) { printStr = printStr + " "; } printStr = printStr + "- " + name; return printStr; } /** * 输出初始给定的目录 * @param dirPath 给定的目录 */ public void printDir(String dirPath){ // 将给定的目录进行分割 String[] dirNameList = dirPath.split("\\\\"); // 设定文件level的base fileLevel = dirNameList.length; // 按格式输出 for (int i = 0; i < dirNameList.length; i ++) { System.out.println(createPrintStr(dirNameList[i], i)); } } /** * 输出给定目录下的文件,包括子目录中的文件 * @param dirPath 给定的目录 */ public void readFile(String dirPath) { // 建立当前目录中文件的File对象 File file = new File(dirPath); // 取得代表目录中所有文件的File对象数组 File[] list = file.listFiles(); // 遍历file数组 for (int i = 0; i < list.length; i++) { if (list[i].isDirectory()) { System.out.println(createPrintStr(list[i].getName(), fileLevel)); fileLevel ++; // 递归子目录 readFile(list[i].getPath()); fileLevel --; } else { System.out.println(createPrintStr(list[i].getName(), fileLevel)); } } } public static void main(String[] args) { Test rd = new Test(); String dirPath = "E:\\BaiduYunDownload"; rd.printDir(dirPath); rd.readFile(dirPath); } }
给定一级目录 遍历所有子目录 返回拼接字符串
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class getChildOrgidUtil { private int level;//部门层级 /** * 传入一级部门orgid 查询所有子部门的orgId * @param orgId parentOrgId * @return AllChildrenOrgId */ public String getOrgId(String orgId){ StringBuilder sBuilder = new StringBuilder(); //获取一级目录下的二级目录 List<Map<String, String>> list = this.getNextOrgId(orgId); //遍历二级目录 for (int i = 0; i < list.size(); i++) { String orgIdValue = list.get(i).get("ORGID");//二级目录Id if((null != orgIdValue) && (!"".equals(orgIdValue))){ sBuilder.append("'" + orgIdValue + "',"); level++; String str = getOrgId(orgIdValue);//三级目录四级目录Id等等 sBuilder.append(str); level--; } } return sBuilder.toString(); } public List<Map<String, String>> getNextOrgId(String orgId){ List<Map<String, String>> list = new ArrayList<Map<String, String>>(); try{ String sql = " SELECT ORGID FROM T_BO_ORRELA WHERE REORGID = '"+orgId+"' WHERE STAT ='STAR'";// CommonDao dao = new CommmonDao(); dao层 Map<String, String> map = new HashMap<String, String>(); map.put("ORGID", "ORGID");// list = dao.queryBySql(sql, null, map, DaoFactory.getDataSource("").getConnection()); }catch(Exception e){ e.printStackTrace(); } return list; }}
阅读全文
0 0
- Java 递归遍历组织树
- JAVA递归、非递归遍历二叉树
- java递归,非递归遍历二叉树
- JAVA递归、非递归遍历二叉树
- java 二叉树的递归遍历和非递归遍历
- java建立二叉树,递归/非递归先序遍历,递归/非递归中序遍历,层次遍历
- 用递归构建组织树
- java非递归生成树及遍历
- 递归实现二叉树遍历JAVA
- 非递归遍历二叉树--java实现
- 二叉树的递归遍历----java实现
- java二叉树的非递归遍历
- 二叉树非递归遍历Java实现
- Java:二叉树的递归遍历
- java 递归遍历文件夹
- JAVA递归遍历文件夹
- java递归遍历文件
- java 递归遍历目录
- 利用jdk自带的线程池进行多线程编程
- Xilinx FIR IP核的的使用及延时问题
- Nginx配置文件nginx.conf详解
- HTML总结(1)
- 程序员必知8大排序3大查找(二)
- Java 递归遍历组织树
- C++ Primer 第11章 关联容器 第一次学习笔记
- css总结(1)
- 使用Hadoop命令行执行jar包详解(生成jar、将文件上传到dfs、执行命令、下载dfs文件至本地)
- Linxu 进程死循环问题调试
- HTML+CSS+DIV问题积累(1)
- Python从零开始写爬虫(二)BeautifulSoup库使用
- MySQL---登陆与退出、数据库基本操作
- 条件编译