最近需要使用 C# 存取 INI 檔案,在 Windows 中早已經有相關 API 可以使用,可以使用
DLLImport方式 Import 這些 API, 且在網路上也有很多相關文章可以參考。
程式碼:(儲存成 IniFile.cs 檔案)
using System.Runtime.InteropServices;
using System.Text;
public class IniFile{
[DllImport("kernel32")]
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);
private string filepath;
public IniFile(string filepath){
this.filepath=filepath;
}
public void WriteIni(string section,string key,string val){
WritePrivateProfileString(section,key,val,filepath);
}
public string ReadIni(string section,string key){
StringBuilder temp=new StringBuilder(255);
GetPrivateProfileString(section,key,"",temp,255,filepath);
return temp.ToString();
}
}
接下來寫個簡單程式碼測試一下
ini 中的資料(儲存成 Test.ini 檔案)
[System]
Num=10
測試程式碼(儲存成 Test.cs 檔案)
using System;
public class Test{
public static void Main(string[] args){
IniFile ini=new IniFile("E:\\Test.ini");
//寫入資料到 ini 中
ini.WriteIni("System","Name","Test");
//讀取 Ini 中 Num 的值
Console.WriteLine("Num Value="+ini.ReadIni("System","Num"));
}
}
編譯程式
執行結果:
Ini 檔案內容,寫入 Name 資料成功
參考網站:
http://www.developer.com/net/csharp/article.php/3287991/INI-Files-Will-Never-Die-How-To-in-NET.htm
http://www.silmoon.com/site/Article/techatc/codeandprogram/DotNet/Article_286.html
全站熱搜