using System.Runtime.InteropServices;
using System.Text; namespace FaureciaManager
{
public class FileINI
{
/// <summary>
/// 写操作
/// </summary>
/// <param name="section">节</param>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
[DllImport("Kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string value, string filePath); /// <summary>
/// 读操作
/// </summary>
/// <param name="section">接</param>
/// <param name="key">键</param>
/// <param name="defValue">未读取到的默认值</param>
/// <param name="retvalue">读取到的值</param>
/// <param name="size">大小</param>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
[DllImport("Kernel32")]
private static extern long GetPrivateProfileString(string section, string key, string defValue, StringBuilder retvalue, int size, string filePath); /// <summary>
/// 读INI文件
/// </summary>
/// <param name="section">节</param>
/// <param name="key">键</param>
/// <param name="defValue">未读取到时候的默认值</param>
/// <param name="filePath">文件路径</param>
/// 用法 FileINI.ReadIni("ConfigURL", "URL", "192.168.10.128:7500", ConfigFilePath);
public static StringBuilder ReadIni(string section, string key, string defValue, string filePath)
{
StringBuilder retValue = new StringBuilder();
GetPrivateProfileString(section, key, defValue, retValue, , filePath);
return retValue;
} /// <summary>
/// 写INI文件
/// </summary>
/// <param name="section">节</param>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <param name="filePath">文件路径</param>
/// 用法 FileINI.WriteIni("ConfigURL", "URL", this.tbxUrl.Text.Trim(), ConfigFilePath);
public static long WriteIni(string section, string key, string value, string filePath)
{
return WritePrivateProfileString(section, key, value, filePath);
} /// <summary>
/// 删除节
/// </summary>
/// <param name="section">节</param>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
public static long DeleteSection(string section, string filePath)
{
return WritePrivateProfileString(section, null, null, filePath);
} /// <summary>
/// 删除键
/// </summary>
/// <param name="section">节</param>
/// <param name="key">键</param>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
public static long DeleteKey(string section, string key, string filePath)
{
return WritePrivateProfileString(section, key, null, filePath);
}
}
}

.net 操作INI文件的更多相关文章

  1. 关于C#操作INI文件的总结

    原文:关于C#操作INI文件的总结   INI文件其实是一种具有特定结构的文本文件,它的构成分为三部分,结构如下: [Section1]key 1 = value2key 1 = value2--[S ...

  2. C#利用Vini.cs操作INI文件

    VClassLib-CS项目Github地址:https://github.com/velscode/VClassLib-CS VINI文档地址:https://github.com/velscode ...

  3. [转]C#操作INI文件

    在很多的程序中,我们都会看到有以.ini为后缀名的文件,这个文件可以很方便的对程序配置的一些信息进行设置和读取,比如说我们在做一个程序后台登陆的时候,需要自动登录或者是远程配置数据库连接,及保存密码设 ...

  4. QSettings配置读写-win注册表操作-ini文件读写

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写     本文地址:http:// ...

  5. C#操作INI文件(明天陪你看海)

    C#操作INI文件 在很多的程序中,我们都会看到有以.ini为后缀名的文件,这个文件可以很方便的对程序配置的一些信息进行设置和读取,比如说我们在做一个程序后台登陆的时候,需要自动登录或者是远程配置数据 ...

  6. 【转】操作ini文件

    一.INI文件的结构: ; 注释 [小节名] 关键字=值 INI文件有多个小节,每个小节又有多个关键字, “=”后面是该关键字的值.  值的类型有三种:字符串.整型数值和布尔值. 其中字符串存贮在IN ...

  7. .net操作InI文件

    public class INI { public static string IniFileName = "";//路径 [DllImport("kernel32&qu ...

  8. Delphi操作Ini文件

    Delphi提供了一个TInifile类,使我们可以非常灵活的处理INI文件 一.INI文件的结构[小节名]ini文件       关键字1=值1       关键子2=值2INI文件允许有多个小节, ...

  9. python操作ini文件

    简介 ini文件作为常见的配置文件,因此需要对ini文件做处理,此处使用configparser模块,本文介绍以下ini文件常用的处理方式. 需要读取的ini文件 如下文件,[ ]包含的称为secti ...

随机推荐

  1. MongoDB(一)——简介

    这两天简单学习了一下MongoDB数据库,属于NoSQL类型数据库的一种,先简单宏观的看一下NoSQL的相关知识和MongoDB的基础知识. NoSQL是Not Only SQL的缩写,它指的是非关系 ...

  2. 性能监控之监控SQL语句

    分析表 analyze table tablename compute statistics for all indexes; analyze table tablename compute stat ...

  3. HTML5学习笔记(一):HTML5基本概念

    1.HTML的发展历程 HTML(1994年,W3C成立) HTML2(1995年) HTML3(1996年) HTML4.0(1997年) HTML4.01(1999年)——HTML5(2008年: ...

  4. 移动端video播放时不弹出页面层

    移动端视频在播放时会主动弹出页面,有的浏览器不会.对那些会的浏览器进行处理: 直接加上下面三个属性即可,兼容方面就不说了,微信上是很ok的. <video x5-playsinline=&quo ...

  5. out ref params

    out的使用 out 能够使我们的函数返回多个类型的值,不再受返回类型的设置: 就是相当于在方法里不仅仅给了一个返回值,被out修饰的参数的值也能带出去: 所以就是说,在方法体内被out修饰的参数,都 ...

  6. 转js resplace方法使用

    作者: hezhiwu5#163.com    时间:2007-3-22 大家好!!今晚在华软G43*宿舍没什么事做,把javascript中replace方法讲解一下,如果讲得不对或不合理是情理之中 ...

  7. STM8S103之ADC

    如何快速了解ADC,查看Reference manual中ADC registers章节,初步了解到ADC ADC buffer register和ADC data register Analog W ...

  8. SGU 180 Inversions【树状数组】

    题意:求逆序数 和POJ那题求逆序数的一样,不过这题离散化之后,要去一下重,然后要开到long long #include<iostream> #include<cstdio> ...

  9. 深入了解JWT以及JWT的执行机制

    1.JWT以什么样的形式存在? eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9 ...

  10. js验证输入框

    项目开发中,都会有对表单form中的input输入框进行一些限制验证 如: <!DOCTYPE html><html lang="en"> <head ...