這篇文章主要介紹properties中l(wèi)oad()和store()的區(qū)別有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)遵化免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
load(InputStream instream) 從輸入流中讀取屬性列表(鍵和元素對(duì))
load(Reader reader) 按簡(jiǎn)單的面向行的格式從輸入字符流中讀取屬性列表(鍵和元素對(duì))
load方法是加載輸入流,“只有”加載輸入流之后,“才”可以用一些讀取該properties文件的方法
請(qǐng)注意這里的:"只有","才"
例如:
public static void function4() throws IOException{ Properties p=new Properties(); FileReader fr=new FileReader("f:\\110.properties"); String str=p.getProperty("98K"); p.load(fr); fr.close(); System.out.println(str); }
代碼并不會(huì)報(bào)錯(cuò),但就是不能讀取到文件中存在的鍵值對(duì),而是返回null;
正解:必須先加載輸入流,才能讀?。?,5行交換)
在又長(zhǎng)又大的Socket編程中極難發(fā)現(xiàn)該處錯(cuò)誤。
store(OutputStream out,String comments) 以適合使用 load(InputStream) 方法加載到 Properties 表中的格式,將此 Properties 表中的屬性列表(鍵和元素對(duì))寫入輸出流
store(Writer writer,String comments) 以適合使用 load(Reader) 方法的格式,將此 Properties 表中的屬性列表(鍵和元素對(duì))寫入輸出字符
store方法是寫入輸出流,“只有”把properties對(duì)象設(shè)置鍵值對(duì)之后,“才能”去寫入輸出流以實(shí)現(xiàn)真正的輸出到文件內(nèi)
請(qǐng)注意這里的:"只有","才能"
例如:
public static void function3() throws IOException{ Properties p=new Properties(); FileWriter fw=new FileWriter("f:\\110.properties"); p.store(fw, "此處寫描述"); p.setProperty("98k", "50D"); fw.close(); }
代碼并不會(huì)報(bào)錯(cuò),甚至還會(huì)幫你寫入文件時(shí)間戳等,但就是沒(méi)有把該鍵值對(duì)寫入文件
正解:必須先存儲(chǔ)鍵值對(duì),才能去寫入輸出流(4,5行交換)
要時(shí)刻清楚,properties實(shí)質(zhì)上是個(gè)集合,千萬(wàn)別把它的load和store方法理解為“連接”IO流,大錯(cuò)特錯(cuò)
以上是“properties中l(wèi)oad()和store()的區(qū)別有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!