溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java 操作 ini 配置文件

發(fā)布時間:2020-07-07 17:49:33 來源:網(wǎng)絡(luò) 閱讀:203 作者:fhspringcloud 欄目:編程語言

代碼

package?org.fh.util;import?java.io.BufferedReader;import?java.io.BufferedWriter;import?java.io.FileReader;import?java.io.FileWriter;import?java.io.IOException;import?java.util.regex.Matcher;import?java.util.regex.Pattern;/**
?*?說明:ini文件讀寫操作工具類
?*??官網(wǎng):www.1b23.com
?*/public?class?IniFileUtil?{	/**
	?*?從ini配置文件中讀取變量的值
	?*?@param?file?????????配置文件的路徑
	?*?@param?section??????要獲取的變量所在段名稱
	?*?@param?variable?????要獲取的變量名稱
	?*?@param?defaultValue?變量名稱不存在時的默認值
	?*?@return?變量的值
	?*?@throws?IOException?拋出文件操作可能出現(xiàn)的io異常
	?*/
	public?static?String?readCfgValue(String?file,?String?section,?String?variable,?String?defaultValue)
			throws?IOException?{
		String?strLine,?value?=?"";
		BufferedReader?bufferedReader?=?new?BufferedReader(new?FileReader(file));		boolean?isInSection?=?false;		try?{			while?((strLine?=?bufferedReader.readLine())?!=?null)?{
				strLine?=?strLine.trim();
				strLine?=?strLine.split("[;]")[0];
				Pattern?p;
				Matcher?m;
				p?=?Pattern.compile("\\[\\w+]");//?Pattern.compile("file://[//s*.*//s*//]");
				m?=?p.matcher((strLine));				if?(m.matches())?{
					p?=?Pattern.compile("\\["?+?section?+?"\\]");//?Pattern.compile("file://[//s*"?+?section?+
																	//?"file://s*//]");
					m?=?p.matcher(strLine);					if?(m.matches())?{
						isInSection?=?true;
					}?else?{
						isInSection?=?false;
					}
				}				if?(isInSection?==?true)?{
					strLine?=?strLine.trim();
					String[]?strArray?=?strLine.split("=");					if?(strArray.length?==?1)?{
						value?=?strArray[0].trim();						if?(value.equalsIgnoreCase(variable))?{
							value?=?"";							return?value;
						}
					}?else?if?(strArray.length?==?2)?{
						value?=?strArray[0].trim();						if?(value.equalsIgnoreCase(variable))?{
							value?=?strArray[1].trim();							return?value;
						}
					}?else?if?(strArray.length?>?2)?{
						value?=?strArray[0].trim();						if?(value.equalsIgnoreCase(variable))?{
							value?=?strLine.substring(strLine.indexOf("=")?+?1).trim();							return?value;
						}
					}
				}
			}
		}?finally?{
			bufferedReader.close();
		}		return?defaultValue;
	}	/**
	?*?修改ini配置文件中變量的值
	?*?@param?file?????配置文件的路徑
	?*?@param?section??要修改的變量所在段名稱
	?*?@param?variable?要修改的變量名稱
	?*?@param?value????變量的新值
	?*?@throws?IOException?拋出文件操作可能出現(xiàn)的io異常
	?*/
	public?static?boolean?writeCfgValue(String?file,?String?section,?String?variable,?String?value)?throws?IOException?{
		String?fileContent,?allLine,?strLine,?newLine;
		String?getValue?=?null;
		BufferedReader?bufferedReader?=?new?BufferedReader(new?FileReader(file));		boolean?isInSection?=?false;		boolean?canAdd?=?true;
		fileContent?=?"";		try?{			while?((allLine?=?bufferedReader.readLine())?!=?null)?{
				allLine?=?allLine.trim();
				strLine?=?allLine.split(";")[0];
				Pattern?p;
				Matcher?m;
				p?=?Pattern.compile("\\[\\w+]");
				m?=?p.matcher((strLine));				if?(m.matches())?{
					p?=?Pattern.compile("\\["?+?section?+?"\\]");
					m?=?p.matcher(strLine);					if?(m.matches())?{
						isInSection?=?true;
					}?else?{
						isInSection?=?false;
					}
				}				if?(isInSection?==?true)?{
					strLine?=?strLine.trim();
					String[]?strArray?=?strLine.split("=");
					getValue?=?strArray[0].trim();					if?(getValue.equalsIgnoreCase(variable))?{
						newLine?=?getValue?+?"="?+?value;
						fileContent?+=?newLine;						while?((allLine?=?bufferedReader.readLine())?!=?null)?{
							fileContent?+=?"\r\n"?+?allLine;
						}
						bufferedReader.close();
						canAdd?=?false;
						BufferedWriter?bufferedWriter?=?new?BufferedWriter(new?FileWriter(file,?false));
						bufferedWriter.write(fileContent);
						bufferedWriter.flush();
						bufferedWriter.close();						return?true;
					}

				}
				fileContent?+=?allLine?+?"\r\n";
			}			if?(canAdd)?{
				String?str?=?variable?+?"="?+?value;
				fileContent?+=?str?+?"\r\n";
				BufferedWriter?bufferedWriter?=?new?BufferedWriter(new?FileWriter(file,?false));
				bufferedWriter.write(fileContent);
				bufferedWriter.flush();
				bufferedWriter.close();
			}
		}?catch?(IOException?ex)?{			throw?ex;
		}?finally?{
			bufferedReader.close();
		}		return?false;
	}	public?static?void?main(String[]?args)?{		try?{			/*;文件事例
			[Client]
			;客戶端版本號
			version=0001
			;設(shè)備號
			devNum=6405*/
			String?value?=?IniFileUtil.readCfgValue("L:/a.ini",?"Client",?"devNum",?"1");
			System.out.println(value);
		}?catch?(IOException?e)?{
			e.printStackTrace();
		}
	}
	
}

ini 配置文件

;系統(tǒng)設(shè)置[SysSet1];系統(tǒng)名稱sysName=FH;帶分頁的列表頁面,每頁條數(shù)showCount=10;在線管理IPonlineIp=127.0.0.1;在線管理端口onlinePort=8869;信息提示音fhsmsSound=m1;郵箱服務(wù)器SMTPSMTP=smtp.126.com;郵箱服務(wù)器端口PORT=25;郵箱服務(wù)器郵箱EMAIL=wwww@126.com;郵箱服務(wù)器密碼PAW=234561;即時聊天IPimIp=127.0.0.1;即時聊天端口imPort=8879


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI