使用DOM4J生成文件夹XML结构数据
来源:互联网 发布:淘宝极速退款后不退货 编辑:程序博客网 时间:2024/06/03 17:07
package com.xmgj.jjt.util;import java.io.File;import java.io.FileOutputStream;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;/** * 读取本地文件中的所有文件目录结构及文件大小 * * @author Administrator * */public class XMLtest extends Thread {@Overridepublic void run() {try {Long start = System.currentTimeMillis();String name = Thread.currentThread().getName();System.err.println("当前线程名:" + name);File file = new File("D:\\jjt-front\\jw\\jw\\jw-web\\src\\main");Document doc = DocumentHelper.createDocument();Element el = doc.addElement(file.getName());el = getFile(file, el);File docFile = new File("d:" + "/目录结构.xml");if (!docFile.exists()) {docFile.createNewFile();FileOutputStream fos = new FileOutputStream(docFile);fos.write(doc.asXML().getBytes());fos.flush();fos.close();}Long end = System.currentTimeMillis();System.out.println("目录建立成功! 耗时:" + (end - start) + "ms");} catch (Exception e) {System.err.println("异常" + e);}}public static Element getFile(File file, Element el) {try {File[] list = file.listFiles();if (list != null && list.length > 0) {for (File f : list) {if (f.isDirectory()) {// 目录Element e = el.addElement("Folder");e.addAttribute("name", f.getName());e.addAttribute("lastModify",parseDate(f.lastModified()));getFile(f, e);} else {// 文件Element e = el.addElement("File");e.addAttribute("name", f.getName());e.addAttribute("lastModify",parseDate(f.lastModified()));e.addAttribute("size", parseSize(f.length()));}System.out.println(el.asXML());}}return el;} catch (Exception e) {System.err.println("异常" + e);}return null;}public static String parseSize(Long l) {String strSize = "0";if (l < 1000) {strSize = l + "B";} else if (l < 1000 * 1000) {strSize = l / 1000 + "." + l % 1000 + "K";} else if (l < 1000 * 1000 * 1000) {strSize = l / (1000 * 1000) + "." + l % (1000 * 1000) + "M";} else if (l < 1000 * 1000 * 1000 * 1000) {strSize = l / (1000 * 1000 * 1000) + "." + l % (1000 * 1000 * 1000)+ "G";}return strSize;}public static String parseDate(Long l) {Calendar calendar = GregorianCalendar.getInstance();calendar.setTimeInMillis(l);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");return sdf.format(calendar.getTime());}public static void main(String[] args) {try {File[] file = File.listRoots();for (File f : file) {XMLtest tr = new XMLtest();tr.setName(f.getName());tr.setPriority(MAX_PRIORITY);tr.start();}} catch (Exception e) {System.err.println("异常" + e);}}}
0 0
- 使用DOM4J生成文件夹XML结构数据
- 使用Dom4j生成xml文件
- 使用DOM4J生成解析XML
- 使用dom4j生成xml文件
- 使用Dom4j生成XML文件
- 使用dom4j生成xml报文
- 使用dom4j读取XML数据
- 使用dom4j来解析,生成xml文件
- 使用 dom4j 生成 XML指定编码格式
- 使用dom4j生成和解析XML文档
- 使用dom4j读取xml文件初始化数据
- 解析xml和生成xml(使用dom4j和velocity)
- dom4j 生成xml
- dom4j生成xml文件
- Dom4j 生成XML
- dom4j-生成XML字符串
- DOM4J生成XML文档
- dom4j生成xml方法
- Yuv 422转Jpeg
- gradle入门
- dubbo zookeeper
- Android 编程下 Touch 事件的分发和消费机制
- 面向对象的六大原则之 —— 开闭原则
- 使用DOM4J生成文件夹XML结构数据
- JAVA矩阵包JAMA学习
- java 多线程实现方式Thread和Runnable之间差异
- Android - Socket
- 三级缓存图片类
- 理解C语言——从小菜到大神的晋级之路(12)——动态内存管理
- Batch语言实现自动化操作
- wstring_convert
- [解决] Error Code: 1044. Access denied for user 'root'@'%' to database