主页 > 编程资料 > C# >
发布时间:2015-09-26 作者:网络 阅读:189次
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>






















 

<>

















import java.io.File;

public class FileTree {
public FileTree() {
}

/**
*
* 生成文件目录树
*
* @param path
* 目录路径
* @return 返回jsp 页面所需的目录数组(JavaScript 数组)
*
*/
/*
* 有无兄弟节点
*/
private boolean hasNexetBrother = false;
/*
* 节点层次
*/
private int index=1;

public String showFileTree(String path) {

String s = "";
File dir = new File(path);
if (dir != null && dir.isDirectory()) {
String absolutePath = dir.getAbsolutePath();


absolutePath = absolutePath.replaceAll("\\\\", "\\\\\\\\");//对'\'的处理,在JSP参数传递时'\'和空格会出现错误
absolutePath = absolutePath.replaceAll(" ", "@"); //对空格的处理 ,这时用'@'替代
s += "new Array(" + index + ",'+ absolutePath + "\\\\ target=mainFrame>" + dir.getName()
+ "
'," + hasNexetBrother + "), ";
hasNexetBrother = false;
index++;
File[] dirs = dir.listFiles();
java.util.List list = new java.util.ArrayList();
for (int i = 0; i < dirs.length; i++) {
if (dirs[i].isDirectory()) {//去除文件.得到文件夹列表

list.add(dirs[i]);

}
}
for (int i = 0; i < list.size(); i++) {
if (i != list.size() - 1)
hasNexetBrother = true;
String dirpath = ((File) list.get(i)).getAbsolutePath();
s += showFileTree(dirpath);//对子文件夹递归处理

}
index--;
}

return s;
}
}
中国最大的WEB开发资源网站及技术社区,
关键字词: