a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

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

2023-05-15 12:29:35
字體:
供稿:網(wǎng)友

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

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

[section]
        key=value

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

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

在C#中,對配置文件的讀寫是通過API函數(shù)來完成的,代碼很簡單:  

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ū)的長度
        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

    }

}


簡單說明以下方法WriteIniData()和ReadIniData()的參數(shù)。

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品s色 | 91麻豆产精品久久久 | 精品久久久久久久久久久久久久 | 最新国产精品精品视频 | 欧美精品一区二区三区在线四季 | 免费看片一区二区三区 | 色综合久久久久综合99 | 久久9国产偷伦 | 中文字幕在线不卡 | 亚洲综合视频一区 | 最新黄色av | 国产中文字幕免费观看 | 国产一区二区三区在线 | 免费成人在线电影 | av三级在线观看 | 国产区久久 | 韩国av一区二区 | 国产不卡免费 | 天天操天天射综合 | 一区二区三区在线观看免费 | 亚洲自拍偷拍av | 热久久免费视频 | 天堂视频中文字幕 | 国产精品久久久久aaaa九色 | 久热中文在线 | 国产小视频在线播放 | 亚洲美女网站 | 污视频网站在线免费 | 在线久草 | 中文字幕加勒比 | 国产成人黄色 | 91免费版在线观看 | 亚洲自拍在线观看 | 性色浪潮 | 久久人人爽人人爽人人片av不 | 国产嫩草91 | 欧美aa在线观看 | 蜜臀久久精品 | 99精品久久 | 午夜精品一区二区三区在线视频 | 黄网在线免费观看 |