zoukankan      html  css  js  c++  java
  • 把一个固定文件夹内容编入xml中(Dom4J递归)

    package WildCat.Xml.com;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.ArrayList;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;
    
    public class readFile1_1 {
    	  
    	 private static ArrayList filelist = new ArrayList();  
    	 public static Element first1=null;
    		 
         public static void main(String[] args) throws IOException { 
        	 writeXml("RAR/jim","WildCat","RAR.xml");
           
            
         }
         //该函数有两个参数,第一个是文件路径;一个是父亲节点的名字
         public static void refreshFileList(String strPath,Element first) throws IOException { 
             File dir = new File(strPath);                     
     		 File[] files = dir.listFiles(); 
     		// Document document=DocumentHelper.createDocument(first);
               if (files == null){
            	first1=first.addElement("first");
            	first1.addAttribute("name", files.toString());
            	first1.addAttribute("id", "0");
            	 return;
               }
             //递归遍历文件夹        
    		         for (int i = 0; i < files.length; i++) { 
    		        	 
    		        	 if (!files[i].isDirectory()){
    		        	 first1=first.addElement("first1");
    		        	 String num=String.valueOf(i+1);	
    		        	 first1.addAttribute("name", files[i].getName());
    		             first1.addAttribute("id", num); 
    		        	 }
    		         }
            	   
    		         for (int i = 0; i < files.length; i++) { 
    		         		if (files[i].isDirectory()) {         		
    		         		//继续向里进
    		         			if(null!=files[i]){
    		         		 first1=first.addElement("first1");
    		         		 String num=String.valueOf(i+1);	
    			        	 first1.addAttribute("name", files[i].getName());
    			             first1.addAttribute("id", num); 
    		                 refreshFileList(files[i].getAbsolutePath(),first1);}
    		         			else
    		         			{
    		         				first1=first.addElement("first1");
    				         		 String num=String.valueOf(i+1);	
    					        	 first1.addAttribute("name", files[i].getName());
    					             first1.addAttribute("id", num); 
    				                 refreshFileList(files[i].getAbsolutePath(),first1);
    				                 //continue;
    		         			}
    		                 } 
    		         		else 
    		         		continue;		         			
    		         }      
          }
         
         public static void writeXml(String path,String rootName,String xmlPath) throws IOException
         {
        	 //根节点元素
        	 Element root=DocumentHelper.createElement(rootName);		
     		 Document document=DocumentHelper.createDocument(root);
        	
             refreshFileList(path,root);
           //输出到命令行
      		XMLWriter writer=new XMLWriter(); 		
      		writer.write(document);
      	    //写在硬盘里
    		OutputFormat format=new OutputFormat("  ",true);
    		XMLWriter writer2=new XMLWriter(new FileOutputStream(new File(xmlPath)),format);		
    		writer2.write(document);
            
         }
            
         
    }
    

  • 相关阅读:
    linux 添加secondary ip
    最大传输单元(MTU)
    【PSY】 [歌詞] 父親
    make clean与make distclean的区别
    flex就是b/s中的c/s,要装插件flash player
    as中的replace只写了一个参数
    6个简单的解决方案解决Internet Explorer中的透明度问题
    9个优秀网上免费标签云生成工具
    2012年网页设计趋势
    11个非常漂亮动物为主题的高品质图标集
  • 原文地址:https://www.cnblogs.com/lixingle/p/3313027.html
Copyright © 2011-2022 走看看