⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filetree.java

📁 这是一个简单的图书管理系统,适用于教学中演示,讲解java高级编程语言
💻 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 + -