導航:首頁 > 文件教程 > ini文件與xml文件

ini文件與xml文件

發布時間:2023-08-27 19:14:05

㈠ C# winform 的配置文件用什麼保存好,txt,ini.還是xml.

都可以,看你自己選擇了
txt需要自定義格式
xml可以用XmlDocument操作
ini要通過DllImport("kernel32")來引入外部函數操作

㈡ 用C#如何讀寫配置文件

INI文件就是擴展名為"ini"的文件。x0dx0a其一般形式如下:x0dx0a[section1] // 配置節x0dx0a//鍵名 //鍵值x0dx0akeyword1 = valuelx0dx0akeyword2 = value2x0dx0a??x0dx0a[section2]x0dx0akeyword3 = value3x0dx0akeyword4 = value4x0dx0a在Windows系統中,INI文件是很多,最重要的就是"System.ini"、"System32.ini"和"Win.ini"。該文件主要存放用戶所做的選擇以及系統的各種參數。用戶可以通過修改INI文件,來改變應用程序和系統的很多配置。但自從Windows 95的退出,在Windows系統中引入了注冊表的概念,INI文件在Windows系統的地位就開始不斷下滑,這是因為注冊表的獨特優點,使應用程序和系統都把許多參數和初始化信息放進了注冊表中。以及XML文件的國際標准化給INI文件又一次打擊。x0dx0a但在某些場合,INI文件還擁有其不可替代的地位。比如綠色軟體的規定就是不向注冊表和系統中填入新東西。對於軟體需要儲存的信息就需要存入到文件中了。XML雖然兼容性比較好,但對於僅僅保存幾個自定義參數而言就顯得大材小用了。這是就可以選擇使用快速簡單的儲存方式:INI文件。x0dx0a本文就來探討一下C#是如何對INI進行讀寫操作。x0dx0a主要思路是調用Win32 API。x0dx0a1.引入命名空間x0dx0ausingSystem.Runtime.InteropServices;x0dx0a2.聲明(把一個Win32 API函數轉成C#函數)x0dx0a//聲明INI文件的寫操作函數 WritePrivateProfileString()x0dx0a[DllImport("kernel32")]x0dx0aprivate static extern longWritePrivateProfileString(string section, string key, string val, stringfilePath);x0dx0a//聲明INI文件的讀操作函數 GetPrivateProfileString()x0dx0a[DllImport("kernel32")]x0dx0aprivate static extern intGetPrivateProfileString(string section, string key, string def, StringBuilderretVal, int size, string filePath);x0dx0a3.函數x0dx0apublic void Writue(string section,string key, string value)x0dx0a{x0dx0a// section=配置節,key=鍵名,value=鍵值,path=路徑(section,key, value, sPath);x0dx0a}x0dx0apublic string ReadValue(stringsection, string key)x0dx0a{x0dx0a// 每次從ini中讀取多少位元組x0dx0aSystem.Text.StringBuilder temp =new System.Text.StringBuilder(255);x0dx0a// section=配置節,key=鍵名,temp=上面,path=路徑x0dx0aGetPrivateProfileString(section,key, "", temp, 255, sPath);x0dx0areturntemp.ToString(); //注意類型的轉換x0dx0a}x0dx0a到此基本功能已經實現了。下面我們將所有的代碼重新整合一下:x0dx0anamespace Library.Filex0dx0a{x0dx0apublic class Inix0dx0a{x0dx0a// 聲明INI文件的寫操作函數 WritePrivateProfileString()x0dx0a[System.Runtime.InteropServices.DllImport("kernel32")]x0dx0aprivate static extern longWritePrivateProfileString(string section, string key, string val, stringfilePath);x0dx0a// 聲明INI文件的讀操作函數 GetPrivateProfileString()x0dx0a[System.Runtime.InteropServices.DllImport("kernel32")]x0dx0aprivate static extern intGetPrivateProfileString(string section, string key, string def,System.Text.StringBuilder retVal, int size, string filePath);x0dx0aprivate string sPath = null;x0dx0apublic Ini(string path)x0dx0a{x0dx0athis.sPath = path;x0dx0a}x0dx0apublic void Writue(string section,string key, string value)x0dx0a{x0dx0a// section=配置節,key=鍵名,value=鍵值,path=路徑(section,key, value, sPath);x0dx0a}x0dx0apublic string ReadValue(stringsection, string key)x0dx0a{x0dx0a// 每次從ini中讀取多少位元組x0dx0aSystem.Text.StringBuilder temp =new System.Text.StringBuilder(255);x0dx0a// section=配置節,key=鍵名,temp=上面,path=路徑x0dx0aGetPrivateProfileString(section,key, "", temp, 255, sPath);x0dx0areturn temp.ToString();x0dx0a}x0dx0a}x0dx0a}x0dx0a開始調用函數。x0dx0a// 寫入inix0dx0aIni ini = newIni("C:/config.ini");x0dx0aini.Writue("Setting","key1", "HELLO WORLD!");x0dx0aini.Writue("Setting","key2", "HELLO CHINA!");x0dx0a// 讀取inix0dx0aIni ini = newIni("C:/config.ini");x0dx0astring str1 =ini.ReadValue("Setting", "key1");x0dx0aMessageBox.Show(str1);x0dx0a二,在一些小的應用中,有時候不需要使用數據困這樣大規模的數據管理工具,也很少進行數據的查詢、修改等操作,而僅用文件來存儲數據。這時就需要使用。net中的文件操作對象,如file、streamReader、streamWriter等。x0dx0a1,使用File對象操作文件x0dx0aSystem.IO.File類提供了一系類的靜態辦法,完成對晚間的常用操作,如新建、刪除、拷貝、移動等x0dx0a2,使用StreamWriter寫入文件x0dx0a在System.IO空間中定義了一個文件寫入器對象StreamWriter,使用它可以以一種特定的編碼向輸出流中(Stream)寫入字元。x0dx0a3,使用SteamReader讀取文件x0dx0a與streamWrite對應

閱讀全文

與ini文件與xml文件相關的資料

熱點內容
吉林文件箱多少錢 瀏覽:113
ae模板版本 瀏覽:204
手機qq步數功能在哪裡 瀏覽:721
c程序設計04737 瀏覽:403
女孩什麼年齡學編程 瀏覽:976
安慶如何做網路營銷推廣 瀏覽:620
什麼是數據標准化 瀏覽:708
aecc三維功能實例視頻教程 瀏覽:719
iphone6s靜音鍵用法 瀏覽:560
油卡盒子APP是什麼公司名下的 瀏覽:597
怪物獵人wp文件夾什麼意思 瀏覽:108
設置密碼的pdf文件如何轉換成word 瀏覽:876
多個文件合並到一起後叫什麼 瀏覽:387
資料庫位是什麼意思 瀏覽:104
如何改變手機上的網路連接 瀏覽:908
某網站圖片侵權如何舉報 瀏覽:820
zemax宏編程有什麼用 瀏覽:874
做保函為什麼要獲取招標文件 瀏覽:921
魔獸世界數據是哪個文件夾 瀏覽:439
oppor9s手機系統升級 瀏覽:728

友情鏈接