zoukankan      html  css  js  c++  java
  • C# 读取Ini配置文件类

    配置文件 为fileName.ini 的文件

    第一行必须为空,不然读不出值
    [section1]
    
    
    key=value
    key2=value
    .........
    
    [section2]
    
    
    key=value
    key2=value
    .........

    代码如下:

    using System;
    using System.Runtime.InteropServices; 
    using System.Text;
    
    namespace Test
    {
        /// <summary>
        /// INI文件的操作类
        /// </summary>
        public class IniFile
        {
            public string Path;
    
            public IniFile(string path)
            {
                this.Path = path;
            }
            
            #region 声明读写INI文件的API函数 
            [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 defVal, StringBuilder retVal, int size, string filePath); 
    
            [DllImport("kernel32")]
            private static extern int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal, int size, string filePath);
            #endregion
    
            /// <summary>
            /// 写INI文件
            /// </summary>
            /// <param name="section">段落</param>
            /// <param name="key"></param>
            /// <param name="iValue"></param>
            public void IniWriteValue(string section, string key, string iValue) 
            {
                WritePrivateProfileString(section, key, iValue, this.Path);
            }
    
            /// <summary>
            /// 读取INI文件
            /// </summary>
            /// <param name="section">段落</param>
            /// <param name="key"></param>
            /// <returns>返回的键值</returns>
            public string IniReadValue(string section, string key) 
            { 
                StringBuilder temp = new StringBuilder(255); 
    
                int i = GetPrivateProfileString(section, key, "", temp, 255, this.Path); 
                return temp.ToString();
            }
    
            /// <summary>
            /// 读取INI文件
            /// </summary>
            /// <param name="Section">段,格式[]</param>
            /// <param name="Key"></param>
            /// <returns>返回byte类型的section组或键值组</returns>
            public byte[] IniReadValues(string section, string key)
            {
                byte[] temp = new byte[255];
    
                int i = GetPrivateProfileString(section, key, "", temp, 255, this.Path);
                return temp;
            }
        }
    }
  • 相关阅读:
    android学习笔记(一)
    中缀表达式转后缀表达式
    evernote使用推荐
    guns框架初试(一)eclipse环境配置之lombok
    guns框架初试(三)eclipse环境配置之成功运行
    guns框架初试(二)环境配置之数据库配置以及被迫修改数据库密码
    ssh 连接出错
    linux网银
    vimrepress
    gnome3自启动
  • 原文地址:https://www.cnblogs.com/dearbeans/p/7327438.html
Copyright © 2011-2022 走看看