国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

C#中讀寫INI配置文件的方法

2023-05-15 12:29:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在作應(yīng)用系統(tǒng)開(kāi)發(fā)時(shí),管理配置是必不可少的。例如數(shù)據(jù)庫(kù)服務(wù)器的配置、安裝和更新配置等等。由于Xml的興起,現(xiàn)在的配置文件大都是以xml文檔來(lái)存儲(chǔ)。比如Visual Studio.Net自身的配置文件Mashine.config,Asp.Net的配置文件Web.Config,包括我在介紹Remoting中提到的配置文件,都是xml的格式。

傳統(tǒng)的配置文件ini已有被xml文件逐步代替的趨勢(shì),但對(duì)于簡(jiǎn)單的配置,ini文件還是有用武之地的。ini文件其實(shí)就是一個(gè)文本文件,它有固定的格式,節(jié)Section的名字用[]括起來(lái),然后換行說(shuō)明key的值:

[section]
        key=value

如數(shù)據(jù)庫(kù)服務(wù)器配置文件:

DBServer.ini
[Server]
Name=localhost
[DB]
Name=NorthWind
[User]
Name=sa

在C#中,對(duì)配置文件的讀寫是通過(guò)API函數(shù)來(lái)完成的,代碼很簡(jiǎn)單:  

using System;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;

namespace PubOp
{
    
public class OperateIniFile
    
{
        
API函數(shù)聲明#region API函數(shù)聲明

        [DllImport(
"kernel32")]//返回0表示失敗,非0為成功
        private static extern long WritePrivateProfileString(string section,string key,
            
string val,string filePath);

        [DllImport(
"kernel32")]//返回取得字符串緩沖區(qū)的長(zhǎng)度
        private static extern long GetPrivateProfileString(string section,string key,
            
string def,StringBuilder retVal,int size,string filePath);


        
#endregion


        
讀Ini文件#region 讀Ini文件

        
public static string ReadIniData(string Section,string Key,string NoText,string iniFilePath)
        
{
            
if(File.Exists(iniFilePath))
            
{
                StringBuilder temp 
= new StringBuilder(1024);
                GetPrivateProfileString(Section,Key,NoText,temp,
1024,iniFilePath);
                
return temp.ToString();
            }

            else
            {
                
return String.Empty;
            }

        }


        
#endregion


        
寫Ini文件#region 寫Ini文件

        
public static bool WriteIniData(string Section,string Key,string Value,string iniFilePath)
        
{
            
if(File.Exists(iniFilePath))
            
{
                
long OpStation = WritePrivateProfileString(Section,Key,Value,iniFilePath);    
                
if(OpStation == 0)
                
{
                    
return false;
                }

                else
                {
                    
return true;
                }

            }

            else
            {
                
return false;
            }

        }


        
#endregion

    }

}


簡(jiǎn)單說(shuō)明以下方法WriteIniData()和ReadIniData()的參數(shù)。

Section參數(shù)、Key參數(shù)和IniFilePath不用再說(shuō),Value參數(shù)表明key的值,而這里的NoText對(duì)應(yīng)API函數(shù)的def參數(shù),它的值由用戶指定,是當(dāng)在配置文件中沒(méi)有找到具體的Value時(shí),就用NoText的值來(lái)代替。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 华宁县| 扎兰屯市| 许昌县| 兴和县| 嫩江县| 迁西县| 永兴县| 通化市| 乌拉特后旗| 威海市| 马鞍山市| 手游| 衡南县| 永安市| 西充县| 开鲁县| 霸州市| 武夷山市| 奇台县| 靖宇县| 成武县| 大足县| 宁蒗| 竹北市| 雅江县| 南江县| 永康市| 扶余县| 分宜县| 宁夏| 长子县| 永德县| 浠水县| 兴安盟| 沾化县| 尼木县| 麦盖提县| 山西省| 金昌市| 武定县| 禄丰县|