導航:首頁 > 文件教程 > 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文件相關的資料

熱點內容
連上otg後u盤顯示無文件 瀏覽:891
qq郵箱上怎樣發送文件夾里 瀏覽:248
如何用管理員許可權打開文件 瀏覽:587
js有二維數組嗎 瀏覽:594
熹妃q傳的網路什麼時候可以修好 瀏覽:165
key文件linux 瀏覽:990
java調用hessian 瀏覽:486
福建聚合網路公司怎麼樣 瀏覽:302
魅族手機備份文件夾 瀏覽:204
電腦c盤騰訊文件夾有什麼用 瀏覽:467
編程語言哪個最好就業 瀏覽:912
能不能找到cad之前打開的文件 瀏覽:259
怎樣設置文件夾許可權 瀏覽:60
oppo手機如何把圖片壓縮成文件 瀏覽:808
載入語言文件失敗 瀏覽:884
招聘plc編程屬於什麼職位類別 瀏覽:580
appstore改區後購買記錄 瀏覽:538
win10管理該文件沒有與之關聯的程序 瀏覽:799
手機里qt是什麼文件夾 瀏覽:48
筆記本關閉開機密碼 瀏覽:672

友情鏈接