java ini_Java操作Ini文件
ini 文件是Initialization File的縮寫,即初始化文件,是windows的系統(tǒng)配置文件所采用的存儲格式,統(tǒng)管windows的各項配置,一般用戶就用windows提供的各項圖形化管理界面就可實現(xiàn)相同的配置了。但在某些情況,還是要直接編輯ini才方便,一般只有很熟悉windows才能去直接編輯。開始時用于WIN3X下面,WIN95用注冊表代替,以及后面的內(nèi)容表示一個節(jié),相當(dāng)于注冊表中的鍵。
具體Format
INI文件由節(jié)(Section)、參數(shù)Item:鍵(key)、值(value)組成。
data
[section name]
參數(shù)(鍵=值)
name=value
注解
注解使用分號表示(;)。在分號后面的文字,直到該行結(jié)尾都全部為注解。
; comment textINI文件的數(shù)據(jù)格式的例子(配置文件的內(nèi)容) [Section1 Name]
KeyName1=value1
KeyName2=value2
因為INI文件可能是項目中共用的,所以使用[Section Name]段名來區(qū)分不同用途的參數(shù)區(qū)。
Java操作
在常規(guī)的WIn平臺下,ini文件的默認編碼格式是ANSI。
不同的國家和地區(qū)制定了不同的標(biāo)準,由此產(chǎn)生了 GB2312、GBK、GB18030、Big5、Shift_JIS 等各自的編碼標(biāo)準。這些使用多個字節(jié)來代表一個字符的各種漢字延伸編碼方式,稱為 ANSI 編碼。在簡體中文Windows操作系統(tǒng)中,ANSI 編碼代表 GBK 編碼;在繁體中文Windows操作系統(tǒng)中,ANSI編碼代表Big5;在日文Windows操作系統(tǒng)中,ANSI 編碼代表 Shift_JIS 編碼。
不同 ANSI 編碼之間互不兼容,當(dāng)信息在國際間交流時,無法將屬于兩種語言的文字,存儲在同一段 ANSI 編碼的文本中。
ANSI在我們國內(nèi)的具體編碼實現(xiàn)實際上是GB2312(或GBK),所以我們對這種格式的文本數(shù)據(jù)進行操作即可。
Java INI Package (JavaINI) 是一個 Java 語言用來讀寫 INI 文件的工具包.Project Location,以下稱為Ini開源包.
Ini開源包默認的編碼格式是ASCII,也就是默認只操作范圍內(nèi)的128個字符,這會大大限制Ini開源包的功能。通過修改org.dtools.ini包的IniFileWriter類改屬性值ENCODING,修改成適合我們的編碼。GB2312、GBK在國內(nèi)使用,因為win平臺建立的ini文件默認就是ANSI編碼,所以推薦修改為這兩種編碼格式。如果想要國際化,則可將ENCODING修改為UTF-8即可。
讀操作
IniFile ini = new BasicIniFile(false);//不使用大小寫敏感
public void readContent(){
IniFileReader reader = new IniFileReader(ini, file);
try {
reader.read();
} catch (IOException e) {
e.printStackTrace();
}
//獲取ini文件的所有Section
for(int i=0;i
IniSection sec = ini.getSection(i);
//獲取每個Section的Item
System.out.println("---- " + sec.getName() + " ----");
for(IniItem item : sec.getItems()){
System.out.println(item.getName() + " = " + item.getValue());
}
}
}
寫操作
public void writeContent(){
//創(chuàng)建一個數(shù)據(jù)Section,在本例中Section名為 config
IniSection dataSection = new BasicIniSection( "config" );
ini.addSection( dataSection );
//在上面的Section中添加Item,包括name、sex、age
IniItem nameItem = new IniItem( "name" );
nameItem.setValue("煙雨江南");
dataSection.addItem( nameItem );
IniItem ageItem = new IniItem( "age" );
ageItem.setValue("999999");
dataSection.addItem( ageItem );
IniItem sexItem = new IniItem( "sex" );
sexItem.setValue("男");
dataSection.addItem( sexItem );
//將數(shù)據(jù)寫入到磁盤
IniFileWriter writer=new IniFileWriter(ini, file);
try {
writer.write();
} catch (IOException e) {
e.printStackTrace();
}
}
總結(jié)
以上是生活随笔為你收集整理的java ini_Java操作Ini文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: open ai gpt_GPT-3:第一
- 下一篇: Java如何实现不同局域网TCP通信+群