Spring 進階(10)訪問資源(2)
阿新 • • 發佈:2018-12-10
- 這裡講的是ClassPathResource類,這個類的好處是它找的資源是類載入路徑下的資源。尤其,尤其是在web應用之中,它可以自動搜尋位於WEB-INF/classes下的資原始檔,這就堪稱神器了。
- 在一般的java程式中,類載入路徑是不包括到包名的,例如下面這個例子把資原始檔放在class_path_resourse下的話不修改路徑是找不到的。
- 程式碼呀~
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》後總結出來的。