最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)讀取和寫入properties文件

 更新時間:2023年08月14日 14:49:42   作者:仙草不加料  
這篇文章主要介紹了Java實現(xiàn)讀取和寫入properties文件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Java讀取和寫入properties文件

properties文件是一種屬性文件,這種文件以key=value格式存儲內(nèi)容。

Java中可以使用Properties類來讀取這個文件,一般properties文件作為一些參數(shù)的存儲,使得代碼更加靈活。

這里先定義一個data.properties文件,內(nèi)容如下:

cn=12
kr=14
jp=64

既然properties是一個文件,那么我們也可以用FileInputStreram來進行讀?。?/p>

try (BufferedInputStream bis = new BufferedInputStream(new  FileInputStream("D:\\test\\data.properties"))) {
		int data = -1;
		while((data = bis.read()) != -1) {
			System.out.print((char)data);
		}
	} catch (IOException e) {
		e.printStackTrace();
	}
    運行結(jié)果
    // cn=12
    // kr=14
    // jp=64

但是,由于properties文件中每一行都是獨立的鍵值對,這種普通讀取方式并沒有按照鍵值對的方式進行讀取,而是逐個字節(jié)讀取,對于這種文件來講是沒有意義的。

所以就應該使用Properties類來進行讀取,從jdk源碼中可以看出,Properties繼承自Hashtable,因此,Properties也同樣有put和get方法,由于,properties是一個文件,Properties類提供了一個load()方法,InputStram作為數(shù)據(jù)源,傳入一個輸入流,把輸入流中的內(nèi)容傳入到內(nèi)部的key和value中,然后就能讀取到properties文件中的內(nèi)容了。

代碼如下:

// Properties格式文件的寫入
    try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\test\\data.properties"))) {
		Properties props = new Properties();
		props.load(bis); // 將“輸入流”加載至Properties集合對象中
		// 根據(jù)key,獲取value
		System.out.println("cn");
	} catch (IOException e) {
		e.printStackTrace();
	}
    // 運行結(jié)果
    // cn=12

同樣,在寫properties文件時,Properties類也提供了store()方法,OutputStream和String類型的注釋作為數(shù)據(jù)源,將內(nèi)部的鍵值對集合和注釋傳入到輸出流中,就可以進行寫入操作了。

代碼如下:

// Properties格式文件的寫入
	try {
		Properties props = new Properties();
		props.put("F1", "2314");
		props.put("F2", "2341");
		props.put("F3", "5322");
		props.put("F4", "4316");
		// 使用“輸出流”,將Properties集合中的KV鍵值對,寫入*.properties文件
		try(BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\test\\demo.properties"))){
			props.store(bos, "just do IT");
		}
	} catch (IOException e) {
		e.printStackTrace();
	}

可以看到,demo.properties文件已經(jīng)被創(chuàng)建出來了,內(nèi)容包括注釋、創(chuàng)建時間和每對鍵值對 。

Java讀寫properties文件(java.util.Properties)

Java對于properties文件的讀寫可以說是最簡單的一個讀取、寫入配置文件的方法了,在properties文件中,數(shù)據(jù)是用類似于鍵值對的存儲方式進行存儲的。

下面就是一個簡單的properties文件:

username=xm99
password=1234567

沒錯,就是這么簡單的方式。

那么我們想要對properties文件進行操作的時候應該如何操作呢?

  • 生成一個properties對象
  • 使用properties對象的 String name = p.getProperty("valueName"); 方法獲得配置的值
  • 使用properties對象的 setProperty(String key,String value) 方法在配置文件中增加配置信息。之后使用 store() 方法進行保存
  • 關(guān)閉輸入流/輸出流對象

寫入配置文件代碼實例

package proTest;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class proSavaTest {
    public static void main(String[] args) throws IOException {
        FileOutputStream out = new FileOutputStream("D:\\demo\\javaBase\\src\\proTest\\pro.properties");
        Properties pro = new Properties();
        pro.setProperty("username","xm99");
        pro.setProperty("passwd","12345");
        pro.store(out,"acb");
    }
}

讀取配置文件示例

package proTest;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class proTest {
    public static void main(String[] args) throws IOException {
        FileInputStream in = new FileInputStream("D:\\demo\\javaBase\\src\\proTest\\pro.properties");
        Properties pro = new Properties();
        pro.load(in);
        String username = pro.getProperty("username");
        String passwd = pro.getProperty("passwd");
        System.out.println("username="+username);
        System.out.println("passwd="+passwd);
        in.close();
    }
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 新手了解java 反射基礎知識

    新手了解java 反射基礎知識

    這篇文章主要介紹了Java反射機制的相關(guān)內(nèi)容,涉及了class類的動態(tài)加載,獲取成員變量、構(gòu)造函數(shù)信息等信息,需要的朋友可以參考下,希望對你有所幫助
    2021-07-07
  • 詳解Java中使用externds關(guān)鍵字繼承類的用法

    詳解Java中使用externds關(guān)鍵字繼承類的用法

    子類使用extends繼承父類是Java面向?qū)ο缶幊讨械幕A知識,這里我們就來詳解Java中使用externds關(guān)鍵字繼承類的用法,需要的朋友可以參考下
    2016-07-07
  • 創(chuàng)建首個 Spring Boot 登錄項目的全攻略

    創(chuàng)建首個 Spring Boot 登錄項目的全攻略

    在Java Web開發(fā)中,登錄功能是最基礎也是最重要的模塊之一,本文將手把手帶你使用IntelliJ IDEA和Maven構(gòu)建一個基于Spring Boot的簡單登錄系統(tǒng),感興趣的朋友跟隨小編一起看看吧
    2025-06-06
  • Spring Boot + MyBatisPlus快速實現(xiàn)單表CRUD的示例

    Spring Boot + MyBatisPlus快速實現(xiàn)單表CRUD的示例

    本文主要介紹了Spring Boot + MyBatisPlus快速實現(xiàn)單表CRUD的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2026-06-06
  • java隨機抽取指定范圍內(nèi)不重復的n個數(shù)

    java隨機抽取指定范圍內(nèi)不重復的n個數(shù)

    這篇文章主要為大家詳細介紹了java隨機抽取指定范圍內(nèi)不重復的n個數(shù),感興趣的小伙伴們可以參考一下
    2016-02-02
  • 超詳細講解Java秒殺項目登陸模塊的實現(xiàn)

    超詳細講解Java秒殺項目登陸模塊的實現(xiàn)

    這是一個主要使用java開發(fā)的秒殺系統(tǒng),項目比較大,所以本篇只實現(xiàn)了登陸模塊,代碼非常詳盡,感興趣的朋友快來看看
    2022-03-03
  • win7 64位系統(tǒng)JDK安裝配置環(huán)境變量教程

    win7 64位系統(tǒng)JDK安裝配置環(huán)境變量教程

    這篇文章主要為大家詳細介紹了win7 64位系統(tǒng)JDK安裝配置環(huán)境變量教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Struts2學習教程之自定義類型轉(zhuǎn)換器的方法

    Struts2學習教程之自定義類型轉(zhuǎn)換器的方法

    類型轉(zhuǎn)換器的作用是將請求中的字符串或字符串數(shù)組參數(shù)與action中的對象進行相互轉(zhuǎn)換。下面這篇文章主要給大家介紹了關(guān)于Struts2學習教程之自定義類型轉(zhuǎn)換器的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-05-05
  • Java NIO寫大文件對比(win7和mac)

    Java NIO寫大文件對比(win7和mac)

    這篇文章主要介紹了Java NIO寫大文件對比(win7和mac),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 解決IDEA使用maven創(chuàng)建Web項目,出現(xiàn)500錯誤的問題

    解決IDEA使用maven創(chuàng)建Web項目,出現(xiàn)500錯誤的問題

    本文主要介紹了在使用Maven創(chuàng)建項目并導入依賴寫完測試代碼后運行出現(xiàn)500錯誤的解決步驟,這種問題的根本原因是Tomcat啟動后缺少某些支持的jar包,導致運行出錯,解決方法是在項目結(jié)構(gòu)中找到Artifacts,點擊要編輯的項目
    2024-10-10

最新評論

化德县| 泰安市| 大埔区| 宜春市| 荃湾区| 浑源县| 秭归县| 禄丰县| 阿拉善右旗| 通辽市| 平顺县| 且末县| 新巴尔虎左旗| 织金县| 柳州市| 清河县| 宿松县| 措美县| 香河县| 吉木萨尔县| 永修县| 颍上县| 宜兰市| 东辽县| 庆阳市| 井冈山市| 绥芬河市| 桓仁| 朔州市| 蒙自县| 新余市| 碌曲县| 兰西县| 蒲城县| 安陆市| 青海省| 正镶白旗| 渝北区| 郎溪县| 崇左市| 嘉祥县|