properties和XML配置文件內容的獲取


@

總結內容

1. Java中為什么要使用配置文件

為了減少代碼的耦合性,以及便於后期維護,在開發中我們經常需要修改以前的數據,如果去改變代碼容易出現一些錯誤,而有了配置文件我們就可以直接修改配置文件就好了,這樣降低了代碼之間的耦合性,同時也方便后期維護。

2. Java中常用的配置文件類型有哪些以及它們的特點

1)Java中常用的配置文件類型有 Properties 和 XML 配置文件。

Properties配置文件

  • 存儲數據特點:
    1)使用鍵值對(key=value)格式,多對數據使用換行分開。
  • 使用注意事項:
    1)配置文件需要跟隨着字節碼走.需要放在 Resource Root 中. 會直接編譯到字節碼輸出路徑
    2)在配置文件中,所有的數據都是字符串,不需要使用引號
    3)在配置文件中不需要使用空格
  • 解析properties配置文件
public class PropertiesTest {
    public static void main(String[] args) throws IOException {
        // 讀取配置文件中的數據
//        Properties pt = new Properties();

        // 解決路徑寫死問題,使用相對路徑
        // 相對於字節碼的輸出根路徑,使用 ClassLoader 對象來獲取字節碼輸出路徑下的文件
        // 為了獲取 ClassLoad 對象,跟 Thread 沒有關系

        InputStream in = Thread.currentThread().        // 當前線程
                getContextClassLoader().        // 獲取類加載器
                getResourceAsStream("jdbc.properties");     // 加載配置文件
        Properties pt = new Properties();
        pt.load(in);
        String username = pt.getProperty("jdbc.username");
        String password = pt.getProperty("jdbc.password");
        System.out.println("username = " + username);
        System.out.println("password = " + password);
    }
}

XML配置文件

  • 存儲數據特點:
    1)xml是一種可擴展的標記語言

  • 使用注意事項:
    1)名稱可以含字母、數字以及其他的字符
    2)名稱不能以數字或者標點符號開始
    3)名稱不能以字符 “xml”(或者 XML、Xml)開始
    4)名稱不能包含空格
    5)屬性的名稱沒有要求
    6)屬性的值需要用引號引起來

  • 使用xml配置文件的好處
    1)xml能存儲小量數據,僅僅是存儲數據。
    2)xml可以跨平台,主流各種平台都對xml有支持, 真正的跨平台,
    3)xml讀取速度快。
    4)xml規范性非常強,這樣就可以更好的去解釋文件內的信息。
    5)xml 是各種應用程序之間進行數據傳輸的最常用的工具。
    6)xml 不適合動態語言但非常適合強類型的語言。java 處理 xml 更容易。
    7)xml從屬關系嚴密。
    8)xml非常適合用與描述數據,關系數據庫都對xml進行支持。

  • Document常用API
    1)document.getElementById('元素的ID') 在整個文檔中,通過元素的ID獲取到這個元素對象(獲取的是一個元素)
    注意: 如果頁面中的id重復了,那么這個方法默認只獲得第一個元素
    2)通過元素的標簽名,來獲取一組元素(有幾個獲取幾個)
      document.getElementsByTagName('元素的標簽名') 在整個文檔中,通過元素的標簽名獲取一組元素。獲取的是一個對象數據類型結果,並且是一個類數組(以數字
      作為索引,索引從0開始,逐級遞增,索引代表的是當前對應的某一個元素,有一個叫做length的屬性代表獲取的個數)
    3)document.getELementsByClassName('xxx'):這個跟上面一個類似,返回的也是數組,但是需要注意的是,它會返回所有包含xxx或者只有xxx的標簽的數組。

  • 解析XML配置文件

public class XMLTest {
    public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException {
        // 1、獲取當前文檔對象
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document document = builder.parse("resources/user.xml");
        // 2、獲取根元素
        Element root = document.getDocumentElement();
        // 3、獲取第二個 linkman 元素
//        Element linkmanEl = (Element) root.getElementsByTagName("classname").item(0);
        Element linkmanEl = (Element) root.getElementsByTagName("linkman").item(1);
        // 4、獲取第二個 linkman 元素下的 name 元素
        Element nameEl = (Element) linkmanEl.getElementsByTagName("name").item(0);
        // 5、獲取文本內容
        String content = nameEl.getTextContent();
        System.out.println(content);
    }
}

總結

以上就是對配置文件的總結了,代碼僅供參考,歡迎討論交流。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM