- 最后登录
- 2021-7-6
- 注册时间
- 2012-12-27
- 阅读权限
- 90
- 积分
- 76145
 
- 纳金币
- 53488
- 精华
- 316
|
- /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
复制代码 |
|