<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Java 讀寫屬性文件示例 > 原文: [https://howtodoinjava.com/java/io/java-loadreadwrite-properties-file-examples/](https://howtodoinjava.com/java/io/java-loadreadwrite-properties-file-examples/) 如今,任何復雜的應用程序都需要某種配置。 有時我們需要將此配置為只讀(通常在應用程序啟動時讀取),有時(或很少)我們需要寫回或更新這些屬性配置文件上的內容。 在這個簡單易用的教程中,學習**使用`Properties.load()`方法讀取 Java** 中的屬性文件。 然后,我們將使用`Properties.setProperty()`方法將**的新屬性寫入文件**中。 ## 用于例如`app.properties`的屬性文件 下面是一個示例屬性文件,我們將在示例應用程序中使用它。 ```java firstName=Lokesh lastName=Gupta blog=howtodoinjava technology=java ``` ## 讀取屬性文件示例 在大多數應用程序中,屬性文件在應用程序啟動期間僅讀取一次,然后進行緩存。 每當需要通過鍵來獲取屬性值時,您都將查詢屬性緩存并從中獲取值。 該高速緩存通常是一個單例實例,因此應用程序不會多次讀取屬性文件;因此,應用程序無法讀取屬性文件。 因為對于當今世界上時間緊迫的應用程序,再次讀取 IO 的成本非常高。 在下面的示例中,我給出了屬性緩存[單例](//howtodoinjava.com/design-patterns/creational/singleton-design-pattern-in-java/)實例的此類示例。 隨時根據您的需要進行修改/建議。 ```java import java.io.IOException; import java.io.InputStream; import java.util.Properties; import java.util.Set; public class PropertiesCache { private final Properties configProp = new Properties(); private PropertiesCache() { //Private constructor to restrict new instances InputStream in = this.getClass().getClassLoader().getResourceAsStream("app.properties"); System.out.println("Read all properties from file"); try { configProp.load(in); } catch (IOException e) { e.printStackTrace(); } } //Bill Pugh Solution for singleton pattern private static class LazyHolder { private static final PropertiesCache INSTANCE = new PropertiesCache(); } public static PropertiesCache getInstance() { return LazyHolder.INSTANCE; } public String getProperty(String key){ return configProp.getProperty(key); } public Set<String> getAllPropertyNames(){ return configProp.stringPropertyNames(); } public boolean containsKey(String key){ return configProp.containsKey(key); } } ``` 在上面的代碼中,我使用了 *Bill Pugh 技術*創建單例實例。 > 閱讀更多: [Java](//howtodoinjava.com/design-patterns/singleton-design-pattern-in-java/ "Singleton design pattern in java") 中的單例設計模式 讓我們測試上面為屬性緩存創建的代碼。 ```java public static void main(String[] args) { //Get individual properties System.out.println(PropertiesCache.getInstance().getProperty("firstName")); System.out.println(PropertiesCache.getInstance().getProperty("lastName")); //All property names System.out.println(PropertiesCache.getInstance().getAllPropertyNames()); } Output: Read all properties from file Lokesh Gupta [lastName, technology, firstName, blog] ``` ## 寫入屬性文件示例 就個人而言,我找不到從應用程序代碼修改屬性文件的任何充分理由。 僅當您準備將數據導出到僅需要此格式的數據的第三方供應商/或應用程序時,這才有意義。 因此,如果您面臨類似的情況,請在`PropertiesCache.java`中創建另一個方法,如下所示: ```java public void setProperty(String key, String value){ configProp.setProperty(key, value); } ``` 并以這種方式使用上述方法將**寫入新屬性到屬性文件**中。 ```java PropertiesCache cache = PropertiesCache.getInstance(); if(cache.containsKey("country") == false){ cache.setProperty("country", "INDIA"); } //Verify property System.out.println(cache.getProperty("country")); Output: Read all properties from file INDIA ``` 這是與使用 Java 讀寫屬性文件相關的**這個簡單易懂的教程的全部內容**。 給我留言是不清楚或您有任何疑問。 **祝您學習愉快!** 參考:[`Properties` Java 文檔](https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看