将文件目录转换为对应的数字

来源:互联网 发布:java输入数字 编辑:程序博客网 时间:2024/06/05 20:21
    package WildCat.XML.readFloas;            import java.io.File;      import java.util.ArrayList;      import java.util.Iterator;      import java.util.List;            import org.dom4j.Document;      import org.dom4j.DocumentException;      import org.dom4j.DocumentHelper;      import org.dom4j.Element;      import org.dom4j.io.SAXReader;            public class changeToString {          public static int num=0;          public static StringBuffer sb= new StringBuffer();          //getDocumentName getName=new getDocumentName();                    static ArrayList<String> list = new ArrayList<String>();          //static ArrayList<String> list = new getDocumentName().getName("RAR\\WildCat\\ok\\8\\oh.ppt");                    /**          * @param args          *           * 通过DOM4J读取XML          * @throws Exception           */                    public static void test(String firName,Element e) throws Exception          {                     for (Iterator iter=e.elementIterator();iter.hasNext();)                  {                                 Element ele=(Element)iter.next();                      String name=ele.attributeValue("name");                      if (firName.equals(name))                      {                          String id=ele.attributeValue("id");                          System.out.println("Id:"+id);                          num++;                          sb.append(id+"\\");                                                    if (num<list.size())                          {                              test(list.get(num),ele);                          }                      }                                         }            }                    public static String change(String firstPath ) throws Exception {              getDocumentName getName=new getDocumentName();              list = new getDocumentName().getName(firstPath);                            SAXReader reader=new SAXReader();              Document document=reader.read(new File("RAR.xml"));              Element root=document.getRootElement();              if (list.get(0).equals(root.getName()))               {                                    num++;                  test(list.get(num),root);              }              String path=sb.toString();              //清空全局变量StringBuffer              sb=null;                      return path;          }          //测试主函数          public static void main(String[] args) throws Exception {              String tt=change("RAR\\jim\\ok\\8\\oh.ppt");              System.out.println(tt);          }            }  [java] view plaincopyprint?    对应的xml文件:  [html] view plaincopyprint?    <?xml version="1.0" encoding="UTF-8"?>            <jim>        <first1 name="你好.doc" id="3"/>        <first1 name="ok" id="1">          <first1 name="oh.ppt" id="2"/>          <first1 name="8" id="1">            <first1 name="myGod.doc" id="1"/>            <first1 name="oh.ppt" id="2"/>          </first1>          <first1 name="second" id="3">            <first1 name="mytest.doc" id="1"/>            <first1 name="null" id="2"/>          </first1>        </first1>        <first1 name="z" id="2">          <first1 name="mytest.doc" id="1"/>          <first1 name="test.doc" id="2"/>        </first1>      </jim>  
比如jim/second/mytest.doc会转换成jim/3/1。