簡體   English   中英

讀取具有特定字符串的java中的屬性文件

[英]Read properties file in java having particular string

我正在使用一個.properties文件。 在那我有以下配置參數:

Appnameweb = app1
Appnamemobile = app2
Appnameweb1 = app3

可以有許多以用戶提供的Appname開頭的配置參數。 如何讀取所有屬性文件參數,其中鍵將包含特定的字符串,如本例中的Appname?

一般來看看java.util.Properties javadoc。 為了讓您的生活更輕松,我將為您提供此代碼段,以幫助您開始:

Properties props = new Properties();
props.load(new FileInputStream("myfile.properties"));
for (Enumeration<?> e = props.propertyNames(); e.hasMoreElements(); ) {
    String name = (String)e.nextElement();
    String value = props.getProperty(name);
    // now you have name and value
    if (name.startsWith("Appname")) {
        // this is the app name. Write yor code here
    }
}
Properties props = new Properties();
props.load(new FileInputStream("file.properties"));
Enumeration<String> e = props.getNames();
List<String> values = new ArrayList<String>();
while(e.hasMoreElements()) {
    String param = (String) e.nextElement();
    if(param != null && param.contains("Appname")) { 
         values.add(props.getProperty(param));
    }   
}

如果你正在使用java Properties ,那么你可以做一些事情。

  1. 使用Properties#keySet()方法獲取鍵的Set<Object>
  2. 啟動for循環,對於鍵集中的每個對象,通過強制轉換或使用toString()方法將Object轉換為String
  3. 使用轉換后的String,根據您的需要,使用String#contains()String#startsWith()方法檢查它是否包含公共字符串“Appname”。
  4. 如果是,請使用Properties#getProperty()方法獲取該鍵的值,並使用該值執行任何操作。
Properties prop = new Properties();
    try {
        prop.load(this.getClass().getClassLoader().getResourceAsStream("filename.properties"));
        Set<Object> set = prop.keySet();

        for(Object obj : set){
            String str = obj.toString();
            if(str.startsWith("Appname")) {
                //System.out.println("");
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM