zoukankan      html  css  js  c++  java
  • 利用GetPrivateProfileString读取ini文件的字段

    //INIClass读取类
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;
    using System.IO;
    using UnityEngine;
     
    namespace cReadConfigFile
    {
        public class INIClass
        {
            public string inipath;
            [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 def, StringBuilder retVal, int size, string filePath);
            /// <summary> 
            /// 构造方法 
            /// </summary> 
            /// <param name="INIPath">文件路径</param>
            public INIClass(string INIPath)
            {
                inipath = INIPath;
            }
            /// <summary> 
            /// 写入INI文件 
            /// </summary> 
            /// <param name="Section">项目名称(如 [TypeName] )</param> 
            /// <param name="Key">键</param> 
            /// <param name="Value">值</param> 
            public void IniWriteValue(string Section, string Key, string Value)
            {
                WritePrivateProfileString(Section, Key, Value, this.inipath);
            }
            /// <summary> 
            /// 读出INI文件 
            /// </summary> 
            /// <param name="Section">项目名称(如 [TypeName] )</param> 
            /// <param name="Key">键</param> 
            public string IniReadValue(string Section, string Key)
            {
                StringBuilder temp = new StringBuilder(500);
     
                int i = GetPrivateProfileString(Section, Key, "100", temp, 500, this.inipath);
                return temp.ToString();
            }
            /// <summary> 
            /// 验证文件是否存在 
            /// </summary> 
            /// <returns>布尔值</returns> 
            public bool ExistINIFile()
            {
                return File.Exists(inipath);
            }
     
        /// <summary>获得相应文件名所有名称
        /// 
        /// </summary>
        /// <param name="srcPath">目录</param>
        /// <param name="sFileName">对应文件</param>
        /// <returns></returns>
        /// <remarks></remarks>
            public List<string> fFileList(
                string srcPath)
            {
                List<string> fList = new List<string>();
     
                // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
                string[] fileList = Directory.GetFiles(srcPath);
     
                //'添加相同的文件
                foreach (string sItem in fileList)
                {
                    if ("*.jpg *.bmp *.gif".IndexOf(sItem.Substring(sItem.Length-3,3)) > 0)
                    {
                        fList.Add(sItem);
                    }
                    
                }
     
                return fList;
     
            }
        } 
    }
     
    //应用实例
       public Text tx;
        INIClass iniCls;
       void Start () 
        {
            iniCls = new INIClass(Application.dataPath+"/config.ini");
            tx.text = iniCls.IniReadValue("Net", "port");
           tx.text = iniCls.IniReadValue("Net", "LaunchID");
    }
    //ini文件的格式如下
    [Net]
    port=10006
    LaunchID=Launch1
    应用的时候不要加方括号[]
    port是key 
    10006是value
  • 相关阅读:
    Dom 动态添加元素节点总结
    SQLserver 获取当前时间
    Var的用法解析
    JS 转换HTML转义符
    20210602---为了养老,全力以赴,珍惜每一秒钟。决心不够大,不够担心未来,现在虽然挣得少,但是有吃有喝,满足了。
    20210601——今天开始狠狠奖励自己,而且是必须玩的这种。做事投入你就会快乐。
    20210531兴趣
    20210527学习笔记--没成功的唯一原因是,想得和说的太多 做的太少。
    20210526--今年还有半年,抓紧一切时间学习
    20210524学习笔记---从记日记开始已经有3个月了,浪费时间的痕迹渐渐清醒
  • 原文地址:https://www.cnblogs.com/backlighting/p/5061549.html
Copyright © 2011-2022 走看看