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;
            }
        }
    }
  • 相关阅读:
    洛谷【P1109 学生分组】 题解
    卡特兰数
    并查集
    深度优先搜索DFS;递归
    【71】序列模型和注意力机制
    c/c++ 常用的几个安全函数
    win32 Ui 编程 收集
    vc获取特殊路径(SpecialFolder)
    std::map 自定义排序
    16-----BBS论坛
  • 原文地址:https://www.cnblogs.com/dearbeans/p/7327438.html
Copyright © 2011-2022 走看看