java學(xué)習(xí)筆記:java文件讀寫-讀取properties配置文件

一、簡(jiǎn)述

各種語(yǔ)言都有自己所支持的配置文件類型,Java支持的是.properties文件的讀寫。JDK內(nèi)置的java.util.Properties類為我們操作.properties文件提供了便利。

二、properties文件格式

文件示例:

#adaptertest init data

#手機(jī)設(shè)備號(hào)

mobiledevice=84c5f58a

#音箱設(shè)備號(hào)

miadevice=A3004100005P

“#”開(kāi)始的一行為注釋信息;

“=”左邊的我們稱之為key,“=”右邊的我們稱之為value。key是我們程序中的變量,而value是我們根據(jù)實(shí)際情況配置的。

key與value只能為字符串。

三、properties類中的主要方法

1)getProperty(String key)

用指定的鍵在此屬性列表中搜索屬性。也就是通過(guò)參數(shù)key,得到key所對(duì)應(yīng)的value。

2)load(InputStream inStream)

從輸入流中讀取屬性列表(鍵和元素對(duì))。以供getProperty( String key)來(lái)搜索。

3)setProperty(String key, String value)

調(diào)用Hashtable的方法put 。他通過(guò)調(diào)用基類的put方法來(lái)設(shè)置鍵-值對(duì)。

4)store(OutputStream out, String comments)

以適合使用load方法加載到Properties表中的格式,將此Properties表中的屬性列表(鍵和元素對(duì))寫入輸出流。與load方法相反,該方法將鍵-值對(duì)寫入到指定的文件中去。

5)clear()

清除所有裝載的鍵-值對(duì)。該方法在基類中提供

四、Java讀取Properties文件

Java讀取Properties文件的方法有很多,以下為使用java.util.Properties類的load()方法讀取Properties文件。

待讀取.properties文件需放到正確的工程文件目錄下,否則會(huì)報(bào)錯(cuò):.properties文件與project.properties文件在同一級(jí)目錄。

1)Properties文件

#adapter test init data

#手機(jī)設(shè)備號(hào)

mobiledevice=84c5f58a

#音箱設(shè)備號(hào)???

miadevice=A3004100005P

2)java代碼

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.util.Iterator;

import java.util.Properties;



Properties prop = new Properties();

try {

??? //讀取文件

InputStream inputStream = newFileInputStream("adapter_test_initdata.properties");

//設(shè)置編碼格式為utf-8,處理中文亂碼問(wèn)題

BufferedReader bf = newBufferedReader(new InputStreamReader(inputStream, "utf-8"));

???prop.load(bf);

Iterator it=prop.stringPropertyNames().iterator();

while(it.hasNext()){

???????? Stringkey=it.next();

??????? ???? System.out.println(key+":"+prop.getProperty(key));

}

mobile_device = prop.getProperty("mobiledevice");

mia_device = prop.getProperty("miadevice");

?? inputStream.close();

}catch (Exception e) {

????????? System.out.println(e);

????????? e.printStackTrace();

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容