zoukankan      html  css  js  c++  java
  • c# 读写ini文件

    //在 Ini 文件中写数据
    [DllImport("kernel32")]
    private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

    //读取 Ini 文件中的数据
    [DllImport("kernel32")]
    private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

    //读取所有Sections
    [DllImport("kernel32", EntryPoint = "GetPrivateProfileString")]
    private static extern uint GetPrivateProfileStringA(string section, string key, string def, Byte[] retVal, int size, string filePath);

    /// <summary>
    /// 创建Ini文件,并写入数据
    /// </summary>
    /// <param name="section">根节点</param>
    /// <param name="key">键</param>
    /// <param name="val">值</param>
    /// <param name="filePath">路径</param>
    public static void WriteIniData(string section, string key, string val, string filePath)
    {
      if (!File.Exists(filePath))
      {
        var fs = File.Create(filePath);
        fs.Dispose();
        fs.Close();
      }
      WritePrivateProfileString(section, key, val, filePath);
    }

    /// <summary>
    /// 读取 Ini 文件
    /// </summary>
    /// <param name="section">根节点</param>
    /// <param name="key">键</param>
    /// <param name="def">默认数据</param>
    /// <param name="retVal">返回数据</param>
    /// <param name="size">大小</param>
    /// <param name="filePath">路径</param>
    public static void ReadIniData(string section, string key, string def, StringBuilder retVal, int size, string filePath)
    {
      GetPrivateProfileString(section, key, def, retVal, size, filePath);
    }

    public static List<string> ReadAllSection(string filePath)
    {
      List<string> result = new List<string>();
      Byte[] buf = new Byte[65536];
      uint len = GetPrivateProfileStringA(null, null, null, buf, buf.Length, filePath);
      int j = 0;
      for (int i = 0; i < len; i++)
      {
        if (buf[i] == 0)
        {
          result.Add(Encoding.Default.GetString(buf, j, i - j));
          j = i + 1;
        }
      }
      return result;
    }

  • 相关阅读:
    2019.1.3 WLAN 802.11 a/b/g PHY Specification and EDVT Measurement II
    L215 Visual impairment
    2019.1.3 WLAN 802.11 a/b/g PHY Specification and EDVT Measurement I
    L213
    firewall端口放行
    数据库迁移之mysql-redis.txt
    sort
    linux注释多行
    解决Nginx+Tomcat下客户端https请求跳转成http的问题
    监控zookeeper
  • 原文地址:https://www.cnblogs.com/wangye520/p/8184361.html
Copyright © 2011-2022 走看看