1. 程式人生 > >Spring 進階(10)訪問資源(2)

Spring 進階(10)訪問資源(2)

  1. 這裡講的是ClassPathResource類,這個類的好處是它找的資源是類載入路徑下的資源。尤其,尤其是在web應用之中,它可以自動搜尋位於WEB-INF/classes下的資原始檔,這就堪稱神器了。
  2. 在一般的java程式中,類載入路徑是不包括到包名的,例如下面這個例子把資原始檔放在class_path_resourse下的話不修改路徑是找不到的。
  3. 程式碼呀~
    package class_path_resourse;
    
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    import org.springframework.core.io.ClassPathResource;
    
    import java.util.Iterator;
    import java.util.List;
    
    public class ClassPathResourceTest {
        public static void main(String []args) throws  Exception{
            ClassPathResource classPathResource = new ClassPathResource("test.xml");
    //      當不使用路徑修飾的時候,classPathResource訪問的路徑是類載入的路徑,與就是src
            
            //        輸出檔案的相關資訊
            System.out.println(classPathResource.getDescription());
            System.out.println(classPathResource.getFilename());
    
            SAXReader saxReader = new SAXReader();
    //       構建 SAXReader解析器來解析那個檔案
    
    //        接下來的操作就是兩層遍歷,然後輸出來
            Document document = saxReader.read(classPathResource.getFile());
            Element element = document.getRootElement();
            List list = element.elements();
            for(Iterator iterator = list.iterator(); iterator.hasNext(); ){
                Element element1 = (Element)iterator.next();
                List list1 = element1.elements();
                for(Iterator iterator1 = list1.iterator(); iterator1.hasNext();  ){
                    Element element2 = (Element)iterator1.next();
                    System.out.println(element2.getText());
                }
            }
    
        }
    }
    

    這是我看李剛編著的《輕量級javaEE企業應用實戰(第五版)-Struts2+Spring5+Hibernate5/JAP2》後總結出來的。