日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 写文件 属性吗_使用JAVA读写Properties属性文件

發(fā)布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 写文件 属性吗_使用JAVA读写Properties属性文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

自己定義一個屬性文件:例如prop.properties

baseFilePath=D\:/kuanter/resource

tesx=abcd

我們要做的第一步就是要將文件讀取到Properties類對象中,由于load有一個參數(shù)是InputStream,所以我們可以用 InputStream的子類FileInputStream將屬性文件讀取到Properties對象中,知道prop.properties的路徑,我們就用FileInputStream(String name)構(gòu)造函數(shù):

Properties prop = new Properties();//屬性集合對象

FileInputStream fis = new FileInputStream("prop.properties");//屬性文件流

prop.load(fis);//將屬性文件流裝載到Properties對象中

1.//獲取屬性值,baseFilePath已在文件中定義

2. System.out.println("獲取屬性值:baseFilePath=" + prop.getProperty("baseFilePath"));

3. //獲取屬性值,country未在文件中定義,將在此程序中返回一個默認值,但并不修改屬性文件

4. System.out.println("獲取屬性值:country=" + prop.getProperty("country", "中國"));

在保存屬性集合到文件之前,我們還有一件事情就是如何修改和添加新的屬性到屬性集合,這里使用了一個方法就是setProperty(String key, String value),這個方法就是當(dāng)屬性集合中存在指定的key時,就修改這個key的值,如果不存在,就新建一個key,同樣是通過鍵值關(guān)系保存的,但值得注意的是,Properties類繼承自Hashtable,所以也可以用Hashtable的put和putAll方法保存,但強烈反對使用這兩個方法,因為它們允許調(diào)用方插入其鍵或值不是 Strings 的項。相反,應(yīng)該使用 setProperty 方法。如果在“有危險”的 Properties 對象(即包含非 String 的鍵或值)上調(diào)用 store 或 save 方法,則該調(diào)用將失敗。那好,下面我們就來看看修改、添加和保存屬性的程序:

//修改baseFilePath的屬性值

prop.setProperty("baseFilePath", "Boxcode");

//添加一個新的屬性studio

prop.setProperty("studio", "Boxcode Studio");

//文件輸出流

FileOutputStream fos = new FileOutputStream("prop.properties");

//將Properties集合保存到流中

prop.store(fos, "Copyright (c) Boxcode Studio");

fos.close();//關(guān)閉流

在我們知道如何讀寫一個屬性文件之后,我們?nèi)匀贿€有很多需要注意的問題,因為load和store方法都是按照ISO-8859-1的編碼方式讀寫屬性流文件的,而ILatin1 的字符和某些特殊字符,而對于非Latin1 的字符和某些特殊字符,則要使用與字符和字符串字面值所用的類似轉(zhuǎn)義序列,以值和元素的形式來表示它們。所以當(dāng)我們在處理中文時,不可以在直接修改屬性文件時,將中文的值賦予給屬性,而是要在JAVA程序中通過setProperty方法給屬性賦予中文的值,因為這樣store會將中文轉(zhuǎn)換成 unicode碼,在讀取時系統(tǒng)會將讀取到的unicode碼按系統(tǒng)的編碼打印出來,對于中文系統(tǒng),通常是GBK碼,這樣中文才能夠正常顯示。

具體在項目中的屬性文件讀寫

package TestPropertis;

//import java.io.FileInputStream;

//import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

//import java.net.URL;

import java.util.Properties;

/**

* TODO

* @author admin

* @date 2012-11-22 下午05:17:28

*/

public class ReadWirtePropertis {

public static void main(String[] args) {

Properties pro = new Properties();//屬性集合對象

//URL url = Thread.currentThread().getContextClassLoader().getResource("prop.properties");//獲取項目中文件的路徑

InputStream path =Thread.currentThread().getContextClassLoader().getResourceAsStream("prop.properties");//獲取路徑并轉(zhuǎn)換成流

//try {

//FileInputStream fis = new FileInputStream("屬性文件創(chuàng)建在電腦上");

try {

//pro.load(fis);//將屬性文件流裝載到Properties對象中

pro.load(path);

//fis.close();

System.out.println(pro.getProperty("baseFilePath"));

pro.setProperty("shuzi", "1111");//往屬性文件插值

pro.setProperty("shuzi", "222");//更改屬性值

System.out.println(pro.getProperty("shuzi"));

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//} catch (FileNotFoundException e) {

TODO Auto-generated catch block

//e.printStackTrace();

//}

}

}

總結(jié)

以上是生活随笔為你收集整理的java 写文件 属性吗_使用JAVA读写Properties属性文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。