C#操作ini檔案
阿新 • • 發佈:2018-12-05
詳細資訊直接在程式碼裡寫
首先看一下ini檔案的格式
一個鍵對應一個值
而"[網址資訊]"類似於專案名稱,將裡邊的內容分為一塊一塊就是方法中傳入的引數“Section”
對於ini檔案的註釋,必須在空的一行中進行註釋,否則像csdn=www.csdn.net;此為CSDN官方網址
程式碼在讀的時候會將“www.csdn.net;此為CSDN官方網址”都讀為值。
ini檔案註釋像以分號開頭;像平時程式碼註釋是以//號開頭是一樣的
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; //首先匯入底下這個包 using System.Runtime.InteropServices; namespace Ini_test { class iniConfig { #region API函式宣告 //用DLLImport匯入其中的方法 [DllImport("kernel32")]//返回0表示失敗,非0為成功 表示寫入 private static extern long WritePrivateProfileString(string section,string key, string val,string filePath); //具體引數底下會進行說明 [DllImport("kernel32")]//返回取得字串緩衝區的長度 表示讀出 private static extern int GetPrivateProfileString(string section,string key, string def,StringBuilder retVal,int size,string filePath); #endregion //設定路徑,一般ini檔案放在debug資料夾中 //我當時測試時給的路徑: // iniConfig ini = new iniConfig(
[email protected]"\config.ini"); //Application.StartupPath表示當前程式起始的位置也就是debug資料夾下 public string initPath; public iniConfig(string path) { this.initPath = path; } /// <summary> /// 驗證檔案是否存在 /// </summary> /// <returns>return bool值</returns> public bool fileExists() { return File.Exists(initPath); } /// <summary> /// 寫入ini檔案 /// </summary> /// <param name="Section">專案名稱 如:[Typename]</param> /// <param name="Key">鍵</param> /// <param name="Value">值</param> /// <return></return> public void iniWriteValue(string Section,string Key,string Value) { WritePrivateProfileString(Section, Key, Value, this.initPath); } /// <summary> ///讀取ini檔案 /// </summary> /// <returns>鍵值</returns> public string iniReadValue(string Section,string Key) { StringBuilder str = new StringBuilder(500); int i = GetPrivateProfileString(Section,Key,"",str,500,this.initPath); return str.ToString(); } //建立新的ini檔案,如果debug中不存在ini檔案可以進行建立 //呼叫上邊fileExists進行判斷,或者直接寫入此方法進行判斷,看寫者的需求 public void newFile(){ StreamWriter writer = new StreamWriter(File.Create(Application.StartupPath + @"\config.ini"), Encoding.Default); writer.Close(); } } }
ini檔案操作起來並不困難,理解就好了