C#ini文件读写操作

C#ini文件读写帮助类

背景

在很多软件实施过程中,当我们项目上线后,难免会有一些配方的切换或者其他的操作,且很多工业的电脑是没有联网的,于是就苦了我们这帮搞工业上位机软件的,我们只是幼儿园刚毕业十几年的孩子,为什么我们要承受这么多。当然上有政策,下有对策,就像我们数据库中的存储过程一样,当我们不想在软件的代码进行修改更新的时候,这个时候引入配置文件的重要性就凸显出来了,就像我们改动数据库的存储过程类似。

实现

需要引入

using System.Runtime.InteropServices;

新建一个类,我们就叫IniFileReadWriteHelper
直接上代码了:

    public class SetFileControl
    {
        [DllImport("kernel32")]
        public static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
        [DllImport("kernel32")]
        public static extern int 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="file">文件路径</param>
        /// <returns>Value</returns>
        public static string ReadIniValue(string Section, string Key, string file)
        {
            StringBuilder _temp = new StringBuilder(1024);
            GetPrivateProfileString(Section, Key, "", _temp, 1024, file);
            return _temp.ToString();
        }
        /// <summary>
        /// 写入INI文档
        /// </summary>
        /// <param name="Section">区段名</param>
        /// <param name="Key">键</param>
        /// <param name="value">Value</param>
        /// <param name="file">文件路劲</param>
        public static long WriteIniValue(string Section, string Key, string value, string file)
        {
            long rtu = WritePrivateProfileString(Section, Key, value, file);
            return rtu;
        }

    }

1、读值使用方法
假定我们程序的根目录下面有一个配置文件:SET.ini
里面的内容大致如下:
在这里插入图片描述
我们需要读取其中DDJ区域下面的STOP_GIVE_TASK的配置值,结合我们的方法类,我们只需要调用如下所示的方法

string strRead = SetFileControl.ReadIniValue("DDJ", "STOP_GIVE_TASK", Application.StartupPath + @"\SET.ini");

我们来看下结果:
在这里插入图片描述

2、写值使用方法
配置文件还是上面的一样,我们进行一个写入操作:
在这里插入图片描述
我们验证下结果
在这里插入图片描述

是不是很简单?是的,对于ini的文件操作就是这样,但是我们可以进行举一反三,从而进行更多文件的读写,比如xml文件,CSS文件,甚至于word文件等一系列操作,这边只是开了个头。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工控程序狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值