InI檔案工具類

2021-07-26 04:27:23 字數 3621 閱讀 6191

ini檔案格式

;這裡以分號開頭的都是注釋

[section]

***=value

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.web;

using system.runtime.interopservices;

using system.io;

using system.collections;

#region 呼叫windowsapi

[dllimport("kernel32.dll")]

private

static

extern

int [dllimport("kernel32.dll")]

private

extern

static

int [dllimport("kernel32.dll")]

private

static

extern

int //獲取ini檔案所有的section

[dllimport("kernel32.dll")]

private

extern

static

intgetprivateprofilesectionnamesa(byte buffer, int ilen, string filename);

//獲取指定section的key和value

[dllimport("kernel32.dll")]

private

static

extern

int //根據傳入引數的不同進行寫入或修改或刪除操作(返回值 long,非零表示成功,零表示失敗)

[dllimport("kernel32.dll")]

public

static

extern

long

//新增乙個section內容列表

[dllimport("kernel32.dll")]

public

static

extern

long

#endregion

#region 供ui呼叫的方法

/// /// 判斷該ini檔案是否存在如果不存在新建乙個該檔案

///public

void

fileexists()}}

catch (exception e)

}///

/// 返回該配置檔案中所有section名稱的集合

//////

public arraylist readsections()}}

return arraylist;

}///

/// 獲取指定節點的所有key的名稱

//////

///public arraylist readkeys(string sectionname)}}

return arraylist;

}///

/// 讀取指定節點下的指定key的value返回string

//////

//////

public

string

getinikeyvalueforstr(string section, string key)

////// 從指定的節點中獲取乙個整數值( long,找到的key的值;如指定的key未找到,就返回預設值。如找到的數字不是乙個合法的整數,函式會返回其中合法的一部分。如,對於「xyz=55zz」這個條目,函式返回55。)

//////

//////

public

intgetinikeyvalueforint(string section, string key)

////// 讀取指定節點下的所有key 和value

//////

///public arraylist getinisectionvalue(string section)}}

return arraylist;

}///

/// 往指定section的key中寫入value

//////

//////

///public

bool

writeinikey(string section, string key, string

value)

else

else}}

catch

return flag;

}///

/// 修改指定section的key的值

//////

//////

///public

bool

editinikey(string section, string key, string

value)

else

else}}

catch

return flag;

}///

/// 刪除指定section的指定key

//////

//////

public

bool

deleteinikey(string section, string key)

else

else}}

catch

return flag;

}///

/// 刪除指定section

//////

///public

bool

deleteinisection(string section)

else

else}}

catch

return flag;

}///

/// 給乙個節點寫入key和value列表

//////

//////

public

bool

writeinisectionandvalue(string section, hashtable ht)

else

if (writeprivateprofilesection(section, lpstring, this.filepath) == 0)

else}}

catch

return flag;

}///

/// 給乙個節點寫入key 列表

//////

//////

public

bool

writeinisectionname(string section, list lstkeyvalue)

else

if (writeprivateprofilesection(section, lpstring, this.filepath) == 0)

else}}

catch

return flag;

}#endregion

}}

ini檔案操作類

using system using system.io using system.runtime.interopservices using system.text using system.collections using system.collections.specialized name...

Ini檔案操作類

using system using system.runtime.interopservices using system.text namespace win.cfg set public inifile string path windows api 對ini檔案寫方法 要在其中寫入新字串的小...

CIniFile類,讀取INI檔案

private bool getvar const cstring const cstring cstring bool setvar const cstring const cstring const cstring const int itype 1 int searchline const c...