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();
    }

  • 相关阅读:
    Mysql 查看 数据库/表 磁盘占用
    COLA 4.0 整洁面向对象分层架构
    《语言选择与就业方向》(2010/06/09)
    《为什么程序员不愿写文档》(2010/06/22)
    《我?还是我们?》(2010/06/30)
    《选择大公司还是小公司》(2010/06/11)
    《加班,加班,加班》(2010/06/17)
    《薪水的苦恼》(2010/06/15)
    《新手面试时的常见问题和对策》(2010/06/15)
    《大量编程带来的快乐和烦恼》(2010/06/20)
  • 原文地址:https://www.cnblogs.com/WlxjSan/p/11736478.html
Copyright © 2011-2022 走看看