当前位置:  编程技术>.net/c#/asp.net

c# api读写ini配置文件的类

    来源: 互联网  发布时间:2014-08-30

    本文导语:  ini就是扩展名为"ini"的文件,其实他本身是个文本文件,可以用记事本打工,主要存放的是用户所做的选择或系统的各种参数. ini文件其实并不是普通的文本文件.它有自己的结构.由若干段落(section)组成,在每个带括号的标题下面,是...

ini就是扩展名为"ini"的文件,其实他本身是个文本文件,可以用记事本打工,主要存放的是用户所做的选择或系统的各种参数.
ini文件其实并不是普通的文本文件.它有自己的结构.由若干段落(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(keyword)和一个等号,等号右边就是关键字的值(value).

例如:
 

代码示例:
[section1]
    keyword1 = value1
    keyword2 = value2
    ...
[section2]
    keyword3 = value3
    keyword4 = value4

c#命名空间中没有直接读写ini的类,当然如果你把int当成文本文件用system.io类来读写算我没说.
我现在介绍的是系统处理ini的方法.
虽然c#中没有,但是在"kernel32.dll"这个文件中有win32的api函数--writeprivateprofilestring()和getprivateprofilestring()
c#声明ini文件的写操作函数writeprivateprofilestring():
 
[dllimport( "kernel32" )]
  private static extern long writeprivateprofilestring ( string section ,string key , string val
, string filepath ) ;
参数说明:section:ini文件中的段落;key:ini文件中的关键字;val:ini文件中关键字的数值;filepath:ini文件的完整的路径和名称。
c#申明ini文件的读操作函数getprivateprofilestring():
 

[dllimport("kernel32")]
 private static extern int getprivateprofilestring ( string section ,
  string key , string def , stringbuilder retval ,
  int size , string filepath ) ;
 

参数说明:section:ini文件中的段落名称;
key:ini文件中的关键字;
def:无法读取时候时候的缺省数值;
retval:读取数值;
size:数值的大小;
filepath:ini文件的完整路径和名称。

一个读写ini文件的类:
 

代码示例:
public class iniclass
{ // www.
 public string inipath;
 [dllimport("kernel32")]
 private static extern long writeprivateprofilestring(string section,string key,string val,string filepath);
 [dllimport("kernel32")]
 private static extern int getprivateprofilestring(string section,string key,string def,stringbuilder retval,int size,string filepath);
 ///
 /// 构造方法
 ///
 /// 文件路径
 public iniclass(string inipath)
 {
  inipath = inipath;
 }
 ///
 /// 写入ini文件
 ///
 /// 项目名称(如 [typename] )
 /// 键
 /// 值
 public void iniwritevalue(string section,string key,string value)
 {
  writeprivateprofilestring(section,key,value,this.inipath);
 }
 ///
 /// 读出ini文件
 ///
 /// 项目名称(如 [typename] )
 /// 键
 public string inireadvalue(string section,string key)
 {
  stringbuilder temp = new stringbuilder(500);
  int i = getprivateprofilestring(section,key,"",temp,500,this.inipath);
  return temp.tostring();
 }
 ///
 /// 验证文件是否存在
 ///
 /// 布尔值
 public bool existinifile()
 {
  return file.exists(inipath);
 }
}

    
 
 

您可能感兴趣的文章:

  • c#不使用系统api实现可以指定区域屏幕截屏功能
  • C#调用windows api关机(关机api)示例代码分享
  • C# 调用API函数弹出映射网络驱动器对话框问题
  • C# Winform调用WEB Service API的示例代码
  • c# xml API操作的小例子
  • c#不使用windows api函数打开我的电脑和获取电脑驱动器信息
  • C# web api返回类型设置为json的两种方法
  • C#通过WIN32 API实现嵌入程序窗体
  • c#调用api控制windows关机示例(可以重启/注销)
  • c#调用c++方法介绍,window api
  • c#之利用API函数实现动画窗体的方法详解
  • C#中调用Windows API的技术要点说明
  • 使用C#调用系统API实现内存注入的代码
  • c#封装百度web服务geocoding api 、百度坐标转换示例
  • C#中通过API实现的打印类 实例代码
  • java使用淘宝API读写json实现手机归属地查询功能代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux中有什么API写配置文件?
  • 配置管理API Archaius
  • 如何在JBuilder 5.0 Enterprise中配置Java communication API?
  • Java高手看过来:如何在JBuilder5.0 Enterprise中配置Java communication API?(急!!!)
  • 我想安装一个API开发包,请问在gcc中,如何配置?
  • php加速器eAccelerator的配置参数、API详解
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Windows API 调用监视工具 API Monitor
  • mplayer 源代码中的API是什么API呀,不是QT呀?是什么呢?
  • 如果我使用或者覆盖了一个不鼓励使用的API,会有什么后果,我怎么知道那些API不鼓励覆盖?
  • 诚邀具有JAVA开发经验且英语水平过硬的开发人员一起来翻译J2SDK标准版V1.4.0 API文档和J2EE1.3 API文档,完成后将放在网上共享下载,详情到网站http://china-programer.myrice.com/
  • Google APIs Client Library for JavaScript
  • PHP OAuth API
  • Google Chart API
  • API 工具包 Apigility
  • 高级音频API Dancer.js
  • Google 地图 API Google Map
  • Java图表API GoogleChartWrapper
  • WSO2 API Manager
  • Simple ODF API
  • java api
  • Java(tm) Communications API 的古怪问题
  • 如何学习java API,~~~~请教
  • 控制域总线API CANpie
  • JSON API 生成框架 percolator
  • AJAX Libraries API
  • Google AJAX 搜索 API


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3