国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - Java Property類使用詳解

Java Property類使用詳解

2021-07-29 11:46CS-Bob Java教程

這篇文章主要介紹了Java Property類使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

概念理解

properties 繼承于 hashtable。表示一個持久的屬性集,屬性列表以key-value的形式存在,key和value都是字符串。properties類被許多java類使用。例如,在獲取環境遍歷時它就作為system.getproperties()方法的返回值。我們在很多需要避免硬編碼的應用場景下需要使用properties文件來加載程序需要配置的信息,比如jdbc、mybatis框架等。properties類則是properties文件和程序的中間橋梁,不論是從properties文件讀取信息還是寫入信息到properties文件都要經由properties類。

寫入

properties類調用setproperty方法將鍵值對保存到內存中,此時可以通過getproperty方法讀取,propertynames方法進行遍歷,但是并沒有將鍵值對持久化到屬性文件中,故需要調用store方法持久化鍵值對到屬性文件中。

我們寫一個類測試

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.io.filenotfoundexception;
import java.io.fileoutputstream;
import java.io.ioexception;
import java.io.outputstream;
import java.util.date;
import java.util.properties;
 
public class testproperties {
    public void writeproperties() {
        properties properties = new properties();
        outputstream output = null;
        try {
            output = new fileoutputstream("config.properties");
            properties.setproperty("url", "jdbc:mysql://localhost:3306/");
            properties.setproperty("username", "root");
            properties.setproperty("password", "root");
            properties.setproperty("databases", "music_player");
            properties.store(output, "steven1997 modify" + new date().tostring());
        } catch (ioexception e) {
            e.printstacktrace();
        }finally {
            if(output!=null) {
                try {
                    output.close();
                }catch (ioexception e) {
                    e.printstacktrace();
                }
            }
        }
        
    }
    public static void main(string[] args) {
        testproperties t = new testproperties();
        t.writeproperties();
    }
}

執行后,工程下面會出現一個config.properties文件,屬性文件內容如下:

Java Property類使用詳解

讀取

使用getproperty獲取config.properties文件配置文件的各項屬性。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package property;
 
import java.io.fileinputstream;
import java.io.filenotfoundexception;
import java.io.fileoutputstream;
import java.io.ioexception;
import java.io.inputstream;
import java.util.properties;
 
public class loadproperties {
    public void loadproperties() {
        properties properties = new properties();
        inputstream inputstream = null;
        
        try {
            inputstream = new fileinputstream("config.properties");
            properties.load(inputstream);
            system.out.println("url:" + properties.getproperty("url"));
            system.out.println("username:" + properties.getproperty("username"));
            system.out.println("password:" + properties.getproperty("password"));
            system.out.println("database:" + properties.getproperty("database"));
        } catch (ioexception e) {
            e.printstacktrace();
        }finally {
            if(inputstream !=null) {
                try {
                    inputstream.close();
                } catch (ioexception e) {
                    e.printstacktrace();
                }
            }
        }
        
    }
    public static void main(string[] args) {
        loadproperties l = new loadproperties();
        l.loadproperties();
    }
}

運行后的結果

url:jdbc:mysql://localhost:3306/
username:root
password:root
database:music_player

遍歷

遍歷屬性文件中的鍵值對

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package property;
 
import java.io.inputstream;
import java.util.enumeration;
import java.util.map.entry;
import java.util.properties;
import java.util.set;
 
public class propertiestest {
    public void printall() {
        properties prop = new properties();
        inputstream input = null;
        try {
            string file = "config.properties";
            input = getclass().getclassloader().getresourceasstream(file);
            if(input == null) {
                system.out.println("無法加載文件" + file);
                return ;
            }
            prop.load(input);
            // 方法一
            set<object> keys = prop.keyset();
            for(object key:keys) {
                system.out.println("key:" + key.tostring() + "|" + "value:" + prop.get(key));
            }
            //方法二:
            set<entry<object, object>> entrys = prop.entryset();//返回的屬性鍵值對實體
            for(entry<object, object> entry:entrys){
                system.out.println("key:"+entry.getkey()+",value:"+entry.getvalue());
            }
            //方法三:
            enumeration<?> e = prop.propertynames();
            while (e.hasmoreelements()) {
                string key = (string) e.nextelement();
                string value = prop.getproperty(key);
                system.out.println("key:" + key + ",value:" + value);
            }
 
        }catch (exception e) {
            e.printstacktrace();
        }finally {
            if(input != null) {
                try {
                    input.close();
                }catch (exception e) {
                    e.printstacktrace();
                }
            }
        }
    }
    public static void main(string[] args) {
        propertiestest p = new propertiestest();
        p.printall();
    }
}

運行結果如下:

key:url|value:jdbc:mysql://localhost:3306/
key:password|value:root
key:database|value:music_player
key:username|value:root
key:url,value:jdbc:mysql://localhost:3306/
key:password,value:root
key:database,value:music_player
key:username,value:root
key:password,value:root
key:url,value:jdbc:mysql://localhost:3306/
key:database,value:music_player
key:username,value:root

 properties文件默認的編碼格式居然是iso-8859-1,這樣導致往配置文件里面寫入中文的時候轉換成另一種格式的編碼,需要把properties 文件的編碼格式改為utf-8,這樣才會讓配置文件保存中文數據的時候不會出現轉碼的問題

以上所述是小編給大家介紹的java property類使用詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/bo123_/article/details/89059799

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩国产在线观看 | 中文字幕日韩视频 | 99久久精品国产一区二区三区 | a久久 | 国产黄色小视频 | 日韩精品免费一区二区夜夜嗨 | 午夜免费视频网站 | 久久久性色精品国产免费观看 | 成人av一区二区亚洲精 | 精品国产乱码久久久久久88av | 日韩欧美一区在线 | 国产精品伦一区二区三级视频 | 日本a视频在线观看 | 欧美日韩综合精品 | 视频一二区| 日本v在线观看 | 中文字幕乱码亚洲精品 | 欧美另类专区 | 91在线免费网站 | 狠狠躁夜夜躁人人爽天天高潮 | 91av亚洲| 日韩在线观看中文字幕 | 欧美极品一区二区 | 99精品一区二区三区 | 日韩视频一区 | 久久免费精品视频 | 国产精品久久久久久久久久免费看 | 国产尤物av| 亚洲精品久久久一区二区三区 | 日日撸 | 在线视频二区 | 天堂v视频 | 在线观看中文字幕av | 午夜免费视频 | 亚洲成av人片在线观看无码 | 久久久久久久国产精品 | 久久一精品 | 亚洲国产精品久久人人爱 | 欧美久久久 | 国产精品一区二区在线观看 | 中文在线中文a |