您好,登錄后才能下訂單哦!
這篇文章主要介紹properties中load()和store()的區別有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
load(InputStream instream) 從輸入流中讀取屬性列表(鍵和元素對)
load(Reader reader) 按簡單的面向行的格式從輸入字符流中讀取屬性列表(鍵和元素對)
load方法是加載輸入流,“只有”加載輸入流之后,“才”可以用一些讀取該properties文件的方法
請注意這里的:"只有","才"
例如:
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); }
代碼并不會報錯,但就是不能讀取到文件中存在的鍵值對,而是返回null;
正解:必須先加載輸入流,才能讀取(4,5行交換)
在又長又大的Socket編程中極難發現該處錯誤。
store(OutputStream out,String comments) 以適合使用 load(InputStream) 方法加載到 Properties 表中的格式,將此 Properties 表中的屬性列表(鍵和元素對)寫入輸出流
store(Writer writer,String comments) 以適合使用 load(Reader) 方法的格式,將此 Properties 表中的屬性列表(鍵和元素對)寫入輸出字符
store方法是寫入輸出流,“只有”把properties對象設置鍵值對之后,“才能”去寫入輸出流以實現真正的輸出到文件內
請注意這里的:"只有","才能"
例如:
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(); }
代碼并不會報錯,甚至還會幫你寫入文件時間戳等,但就是沒有把該鍵值對寫入文件
正解:必須先存儲鍵值對,才能去寫入輸出流(4,5行交換)
要時刻清楚,properties實質上是個集合,千萬別把它的load和store方法理解為“連接”IO流,大錯特錯
以上是“properties中load()和store()的區別有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。