zoukankan      html  css  js  c++  java
  • C# 读取INI文件

    废话不多说,直接上代码

    1:引入命名空间
    System.Runtime.InteropServices
    System.IO
    2:写一个类 iniHelper

    public class IniHelper
    {
        [DllImport("kernel32")]//返回0表示失败,非0为成功
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
        [DllImport("kernel32")]//返回取得字符串缓冲区的长度
        private static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
    
        /// <summary>
        /// 读取ini文件
        /// </summary>
        /// <param name="Section">名称</param>
        /// <param name="Key">关键字</param>
        /// <param name="defaultText">默认值</param>
        /// <param name="iniFilePath">ini文件地址</param>
        /// <returns></returns>
        public static string GetValue(string Section, string Key, string defaultText, string iniFilePath)
        {
            if (File.Exists(iniFilePath))
            {
                StringBuilder temp = new StringBuilder(1024);
                GetPrivateProfileString(Section, Key, defaultText, temp, 1024, iniFilePath);
                return temp.ToString();
            }
            else
            {
                return defaultText;
            }
        }
    
        /// <summary>
        /// 写入ini文件
        /// </summary>
        /// <param name="Section">名称</param>
        /// <param name="Key">关键字</param>
        /// <param name="defaultText">默认值</param>
        /// <param name="iniFilePath">ini文件地址</param>
        /// <returns></returns>
        public static bool SetValue(string Section, string Key, string Value, string iniFilePath)
        {
            var pat = Path.GetDirectoryName(iniFilePath);
            if (Directory.Exists(pat) == false)
            {
                Directory.CreateDirectory(pat);
            }
            if (File.Exists(iniFilePath) == false)
            {
                File.Create(iniFilePath).Close();
            }
            long OpStation = WritePrivateProfileString(Section, Key, Value, iniFilePath);
            if (OpStation == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
    }
    

    5:可以手动新建ini文件,也可自动创建ini文件,博=主比较懒,直接手动创建的

    我ini文件是这样配置的:
    
        [我的数据]    
        MyID=9527
    

    4:直接调用
    string MyID = Console.ReadLine();
    //写入文件
    string file = System.Environment.CurrentDirectory + @"config.ini";
    if (file!=null)
    {
    IniHelper.SetValue("我的数据", "MyID", MyID, file);
    }
    Console.WriteLine("我输入的ID为{0}",MyID);
    //读取文件
    if (file != null)
    {
    MyID = IniHelper.GetValue("我的数据", "MyID", "", file);
    Console.WriteLine("我读取到的ID为{0}"+MyID);
    Console.ReadLine();
    }

  • 相关阅读:
    Unique constraint on single String column with GreenDao2
    Unique constraint on single String column with GreenDao
    将String转换成InputStream
    TypeError: unsupported operand type(s) for +: 'float' and 'str'
    Could not find private key file: AuthKey_NCD8233CS5.p8
    【Winows10】添加桌面小工具(在桌面显示时钟,日历)
    【Windows10】禁用开机启动项
    SQL如何查询出某一列中不同值出现的次数?
    使用 管理项目依赖
    Warning: Python 3.6 was not found on your system…
  • 原文地址:https://www.cnblogs.com/WlxjSan/p/11736478.html
Copyright © 2011-2022 走看看