📄 filetree.java
字号:
package helpfile;
import java.io.File;
import java.util.Date;
/**
* <p>
* Title:FileTree
* </p>
* <p>
* TODO 用于文件目录树的生成,目录下的文件显示,文件删除
* </p>
* <p>
* Copyright: Copyright (c) 2005
* </p>
* <p>
* Company:indigo pacific
* </p>
*
* @author michael
* @version 1.0
*/
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 = "";//"<table>";
File dir = new File(path);
if (dir != null && dir.isDirectory()) {
String absolutePath = dir.getAbsolutePath();
String[] temp = absolutePath.split("\\\\");
String st = "";
for (int i = 0; i < temp.length; i++) {
st += temp[i] + "\\\\\\\\";
}
absolutePath = st.replaceAll(" ", "@");
s += "new Array(" + index + ",'<a href=fileList.jsp?path="
+ absolutePath + "\\\\ target=mainFrame>" + dir.getName()
+ "</a>'," + 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;
}
/**
* 显示目录下的所有文件
*
* @param path
* 目录路径
* @return path目录下的所有文件(不包括子文件夹)的文件名,大小,修改日期等的HTML代码
*/
public static String showFiles(String path) {
String s = "";//<tr><td width='40%'>FileName<td/><td
// width='30%'>LastModifiedTime</td><td
// width='30%'>Update</td></tr>";
File dir = new File(path);
if (dir != null && dir.isDirectory()) {
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
// System.out.println(files[i].getName());
String absolutePath = files[i].getAbsolutePath();
String[] temp = absolutePath.split("\\\\");
String st = "";
for (int j = 0; j < temp.length; j++) {
st += temp[j] + "\\\\\\";
}
absolutePath = st.substring(0, st.length() - 3);
s += "<tr>";
s += "<td ><div align='center'><input name='file' type='checkbox' onclick=checkItem('All') value='"
+ absolutePath + "'></div></td>";
s += "<td ><div align='left'>" + files[i].getName()
+ "</div></td>";
s += "<td ><div align='right'>" + files[i].length()
+ " bytes</div></td>";
s += "<td ><div align='right'>"
+ new Date(files[i].lastModified())
.toLocaleString() + "<div></td>";
s += "</tr>";
}
}
}
return s;
}
/**
* 删除 path目录下所有文件包括所有子文件夹,适用删除文件夹和文件夹
* 如果文件夹下有文件存在,必须先删除其子文件或子文件夹.本方法使用递归删除
* @param path
*/
public static void deleteFile(String path) {
File file = new File(path);
if (file != null) {
if (file.isFile())
file.delete();
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files.length < 1)
file.delete();
else {
for (int i = 0; i < files.length; i++) {
deleteFile(files[i].getAbsolutePath());
}
file.delete();
}
}
} else {
System.out.println(path + " is null");
}
}
public static void updateFile(String path) {
File file = new File(path);
if (file != null)
file.setLastModified(System.currentTimeMillis());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -