c#最好用最简单、最好用的ini配置文件辅助类

c#开发项目时经常用到配置,一般我们会根据具体项目需求,有时把配置写到数据库,有时写到web.config,有时定到ini文件中。在开发winform程序的时候我们最常用的就是定到app.config和ini文件中。今天我分享一个最好用最简单、最好用的ini配置文件辅助类,亲测好用。

public class IniFileHelper
{
    #region API函数声明

    [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);

    #endregion

    #region 读Ini文件

    public static string ReadIniData(string Section,string Key,string NoText,string iniFilePath)
    {
        if(File.Exists(iniFilePath))
        {
            StringBuilder temp = new StringBuilder(1024);
            GetPrivateProfileString(Section,Key,NoText,temp,1024,iniFilePath);
            return temp.ToString();
        }
        else
        {
            return String.Empty;
        }
    }

    #endregion

    #region 写Ini文件

    public static bool WriteIniData(string Section,string Key,string Value,string iniFilePath)
    {
        if(!File.Exists(iniFilePath))
        {
            using(FileStream fs=new FileStream(iniFilePath,FileMode.Create,FileAccess.Write))
            {
                fs.Close();
            }
        }
        if(File.Exists(iniFilePath))
        {
            long OpStation = WritePrivateProfileString(Section,Key,Value,iniFilePath);
            if(OpStation == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        else
        {

            return false;
        }
    }

    #endregion
}

读取节点信息:

IniFileHelper.ReadIniData("config", "lastPath", "", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lahuseo.ini"));

程序自动到当前执行程序的根目录找文件名为”lanhuseo.ini“的文件,节点组为config,节点key为lastpath的值

更新节点信息:

IniFileHelper.WriteIniData("config", "lastPath"
                , txtLogDirOrFile.Text.Trim()
                , System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lahuseo.ini"));

这样存的文件内容为:

[config]
lastPath=C:\Users\Administrator\Desktop\新建文件夹\W3SVC12

这里用到用到了DllImport直接用了windows系统内核的kernel32.dll的现成的两个方法,WritePrivateProfileString和GetPrivateProfileString。如果在写文件没有指定的文件会自动创建一个相应的ini文件,在读的时候没有文件直接返回空,当然这里你可以根据你的需要修改。

原文地址:https://www.cnblogs.com/ashbur/p/12020507.html

时间: 2024-10-19 21:15:18

c#最好用最简单、最好用的ini配置文件辅助类的相关文章

Vim ---- 简单好用的 vim 配置文件,不用插件

set hlsearch set backspace=2 set ruler set showmode set nu set bg=dark syntax on set shiftwidth=2 set tabstop=4 set softtabstop=2 set expandtab set autoindent set smartindent Vim ---- 简单好用的 vim 配置文件,不用插件

struts2 简单注解配置代替xml配置文件

1. 主要文件 LoginAction.javapackage com.edu.struts2.action;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.Namespace;import org.apache.struts2.convention.annotation.Result;import com.opensymphony.xwo

简单Spring和mybatis整合配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx

自动化框架——PO设计模式自学——参数化配置——ini配置文件——简单读取配置文件

文件ini里面内容; [email_qq]qq=123456mm=1sstt;[mima]#r=123r=12345t=www.baidu.com import configparser # C:\\Users\\del\\PycharmProjects\\untitled1\\cs\xs.ini parse = configparser.ConfigParser() #parse.read('xs.ini') parse.read('C:\\Users\\del\\PycharmProject

PHP打开PDO_MySQL扩展的配置方法

PHP中的PDO其实是一个很好用的扩展,在一些PHPCMS系统中,开发者大多都有用到,那么如何开启PDO和PDO_MySQL扩展呢?方法同样很简单: 打开php.ini配置文件,找到extension=php_pdo.dll 和 extension=php_pdo_mysql.dll ,去掉前面“;”的注释,修改后的两行配置内容如下: extension=php_pdo.dll extension=php_pdo_mysql.dll 最后,重启apache或iis,搞一个测试页,里面就phpin

SSO单点登录PHP简单版

前面做了一个新项目,需要用户资源可以需要共享.由于之前没有做过这样的东西,回家之后,立马网站百度"单点登录".帖子很多,甄别之后,这里列几篇认为比较有营养. http://blog.csdn.net/ghsau/article/details/20545513,http://blog.sina.com.cn/s/blog_5f66526e0102vf43.html 如果要解决两个网站之间的同步登录(单点登录)问题,首先来看看一个网站的登录问题. 很多人知道一个网站的登录问题,PHP不就

使用rsync做一个简单的异地备份

Rsync是一个非常简单和方便的小工具,而且也非常的适用:不仅可以用来方便的下拉文件,而且也可以用来作为数据备份的一个工具.下面我自己实验来搭建一个使用rsync作为备份工具. 实验一. A.     B两个linux系统服务器,服务器A作为网站服务器,上面有重要的数据需要实时备份:服务器B作为备份服务器,需要实时去将A服务器的数据和文件下载下来进行异地备份. A服务器ip :192.168.5.120 B服务器ip :192.168.5.147 1.  rsync的安装(此步骤非常的简单,可以

httpd2.4.10 配置文件简单指令说明

系统: CentOS6.5 x86_64 软件: httpd2.4.10 以上次安装的httpd2.4.10为例. 主配置文件在 /etc/httpd2.4/httpd.conf 扩展配置文件在 /etc/httpd2.4/extra/* 0. 在第2部分是配置文件的大概,在3里面把一几个简单的扩展配置文件说明一下. 因为是初学者, 所以有很多不会,就略过啦.   下次再详细写写常用的几个吧. 2. 只是简单的说明一些简单的指令, 主配置文件里面: ServerRoot "/usr/local/

BASH 脚本制作简单 Workflow - 更新 2014/6/17 12:00

因为需要,我创建了一个脚本叫 wf.sh (随意起什么名字),它可以读取当前目录下的 config.ini 配置文件来解析并执行工作流任务(Workflow). 直接上代码: config.ini Workflow.Name = example Workflow.Description = my work flow example \n and I know what's going on here. #Workflow.StartJob = job1 Workflow.NextJobCount