当前位置:文档之家› 使用ConfigurationManager类 读写配置文件

使用ConfigurationManager类 读写配置文件

使用ConfigurationManager类 读写配置文件
使用ConfigurationManager类 读写配置文件

使用ConfigurationManager类读写配置文件

使用ConfigurationManager类读写配置文件app.config,以下为代码:

view plaincopy to clipboard print?

using System;

using System.Configuration;

static class Program

{

static void Main()

{

showConfig();

UpdateAppSettings();

showConfig();

Console.ReadKey(true);

}

private static void showConfig()

{

string = ConfigurationManager.AppSettings["Directory"];

Console.WriteLine("AppSetting配置节Path key的value为:" + dir + "\n");

}

///

/// UpdateAppSettings

///

public static void UpdateAppSettings()

{

// Get the configuration file.

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");

config.AppSettings.Settings["Directory"].Value = "tset";

// Save the configuration file.

config.AppSettings.SectionInformation.ForceSave = true;

config.Save(ConfigurationSaveMode.Modified);

// Force a reload of the changed section.

ConfigurationManager.RefreshSection("appSettings");

}

using System;

using System.Configuration;

static class Program

{

static void Main()

{

showConfig();

UpdateAppSettings();

showConfig();

Console.ReadKey(true);

}

private static void showConfig()

{

string = ConfigurationManager.AppSettings["Directory"];

Console.WriteLine("AppSetting配置节Path key的value为:" + dir + "\n");

}

///

/// UpdateAppSettings

///

public static void UpdateAppSettings()

{

// Get the configuration file.

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");

config.AppSettings.Settings["Directory"].Value = "tset";

// Save the configuration file.

config.AppSettings.SectionInformation.ForceSave = true;

config.Save(ConfigurationSaveMode.Modified);

// Force a reload of the changed section.

ConfigurationManager.RefreshSection("appSettings");

}

app.config内容:

view plaincopy to clipboardprint?

代码结果:app.config只能作为初始化的定义,工程生成后运行程序集名称.exe 修改生成后的程序集名称.exe.Config文件

一开始调试时看到控制结果是想要的结果,但看app.config配置文件内容没变(vs2008 F5调试模式下是修改程序集名称.vshost.exe.config配置文件)还以为是代码有问题,网上搜,也有人碰过到此现像,原来是自己没有理解到MSDN的说明。(还是有文化差异啊)

如:Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");

查看config.filePath值,即了解明白了。

4.0的类库:https://www.doczj.com/doc/623382039.html,/en-us/library/ms134265(v=VS.100).aspx

注意:此类是.net2.0后新增。

必须要先在工程里添加system.configuration.dll程序集的引用。

(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,.net->组件名称->下即可找到)

添加引用后可以使用System.Configuration空间下的ConfigurationManager类.

引用资源:

https://www.doczj.com/doc/623382039.html,/node/258

https://www.doczj.com/doc/623382039.html,/KB/cs/SystemConfiguration.aspx

https://www.doczj.com/doc/623382039.html,/interboy/archive/2007/04/22/722894.html 使用ConfigurationManager类读写web.config

https://www.doczj.com/doc/623382039.html,/blog/static/32082592009813111946229/ 多个示例代码实现

本文来自CSDN博客,转载请标明出处:file:///H:/___Study___/使用ConfigurationManager 类%20读写配置文件%20-.htm

INI文件读写

INI文件读写.txt男人的话就像老太太的牙齿,有多少是真的?!问:你喜欢我哪一点?答:我喜欢你离我远一点!执子之手,方知子丑,泪流满面,子不走我走。诸葛亮出山前,也没带过兵!凭啥我就要工作经验?INI文件读写文章指数:0 CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。 ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。 一、向ini文件中写入信息的函数 1. 把信息写入系统的win.ini文件 BOOL WriteProfileString( LPCTSTR lpAppName, // 节的名字,是一个以0结束的字符串 LPCTSTR lpKeyName, // 键的名字,是一个以0结束的字符串。若为NULL,则删除整个节 LPCTSTR lpString // 键的值,是一个以0结束的字符串。若为NULL,则删除对应的键 ) 2. 把信息写入自己定义的.ini文件 BOOL WritePrivateProfileString( LPCTSTR lpAppName, // 同上 LPCTSTR lpKeyName, // 同上 LPCTSTR lpString, // 同上 LPCTSTR lpFileName // 要写入的文件的文件名。若该ini文件与程序在同一个目录下,也可使用相对 //路径,否则需要给出绝度路径。 ) 如: ::WriteProfileString("Test","id","xym"); //在win.ini中创建一个Test节,并在该节中创建一个键id,其值为xym ::WritePrivateProfileString("Test","id","xym","d:\\vc\\Ex1\\ex1.ini"); //在Ex1目录下的ex1.ini中创建一个Test节,并在该节中创建一个键id,其值为xym //若Ex1.ini文件与读写该文件的程序在同一个目录下,则上面语句也可写为: ::WritePrivateProfileString("Test","id","xym",".\\ex1.ini"); 需要注意的是,C系列的语言中,转义字符'\\'表示反斜线'\'。另外,当使用相对路径时,\\前的.号不能丢掉了。 二、从ini文件中读取数据的函数

C语言读写配置文件代码

MFC读写ini配置文件 1.新建头文件如:iniFunc.h,在编辑区域粘贴以下内容: ///////////////////////////////////////////////////////////////////////// // iniFunc.h: interface for the Cini class. #if !defined(AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED _) #define AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include class Cini { public: static DWORD ReadString (char *section, char * key, char stringtoread[], char * filename); static BOOL WriteString(LPCTSTR section, LPCTSTR key,char* stringtoadd, char *filename); Cini(); virtual ~Cini(); }; #endif // !defined(AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED_) 2.新建资源文件如:iniFunc.cpp,在编辑区域黏贴以下内容: ///////////////////////////////////////////////////////////////////////// // ini.cpp: implementation of the Cini class. #include "stdafx.h" #include "ini.h" ///////////////////////////////////////////////////////////////////////// //Cini类的构造函数和析构函数 Cini::Cini() { } Cini::~Cini()

配置文件使用说明

(1)报警切除功能 C:\windows\cas2000ops.ini中 [CutAlarm] Enable=0 说明:Enable置0时无报警切除功能,置1时有报警切除功能。默认为0 ( 2 ) 语音报警功能 C:\ windows\ Keyboard.ini中 [Keyboard] SelfSound=1 SoundFileName=ALARM.wav 说明: a)SelfSound项置0时,无语音报警功能,置1时有语音报警功能。默认为0 b)语音文件路径应放在操作员站的Start路径下,SoundFileName用户可以自 定义,默认为ALARM.wav。 (3)在线查询时长 C:\windows\cas2000ops.ini中 [TimeLength] show24hour=1; show60hour=1 说明:show24hour置1时,实时趋势时间段有24小时的时间段,置0时没有show60hour同上。 (4)PID调节幅值更改 操作员安装路径\config\ PID_ADJUST.ini [PID点名] SLOW=0 FAST=0 说明:此调节是按绝对值调节,不是按百分比调节; SLOW与FAST项需为非零值,且FAST值〉SLOW值 默认情况下没有文件PID_ADJUST.ini,需要用户自定义。 (5)点详细窗口风格 C:\windows\cas2000ops.ini中 [TagCurve] Mode=0 说明:Mode置0为浮动窗口风格,置1位对话框。默认为0。 (6)操作员站工程师台菜单项中综合趋势窗口和开关趋势窗口菜单C:\windows\cas2000ops.ini中 [ExtraTrendMenu] Mode=0 说明:Mode置0有综合趋势窗口和开关趋势窗口菜单,置1无。默认为

读取配置文件和修改配置文件(ServiceIP.properties)(原创)

读取配置文件和修改配置文件(ServiceIP.properties)(原创) package espeed.util; import java.io.*; import java.util.Properties; /* * 配置短信服务器IP(配置文件建在SRC下,ServiceIP.properties) */ public class EditServiceIP { private static Properties properties=new Properties(); private static EditServiceIP esip; public EditServiceIP(){} public static EditServiceIP getInstance(){ if(esip==null) esip=new EditServiceIP(); return esip; } //取得短信服务器IP public String getSmsServiceIP(){ InputStream

is=EditServiceIP.class.getClassLoader().getResourceAsSt ream("ServiceIP.properties"); try { properties.load(is); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("------------取得短信服务器IP地址发生IO异常"); } String provalue=properties.getProperty("SMS.ServiceIP"); return provalue; } //修改短信服务器IP public String modifySmsServieIP(String smsServiceIP){ File file=new File(EditServiceIP.class.getClassLoader().getResource("S erviceIP.properties").getPath()); try{ properties.load(new FileInputStream(file));

C#读写配置文件

Windows 应用程序: ///

///发布后就可以读取了 /// private readonly string strFileName = AppDomain.CurrentDomain.BaseDirectory + "Windows_RWConfig.exe.config"; //获得配置文件的全路径 /// ///修改配置文件 /// ///key ///value private void UpdateConfig(string key, string value) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(strFileName); //找出名称为“add”的所有元素 XmlNodeList nodes = xDoc.GetElementsByTagName("add"); for (int i = 0; i < nodes.Count; i++) { //获得元素的key属性 XmlAttribute att = nodes[i].Attributes["key"]; //根据元素的第一个属性来判断元素是不是目标元素 if (att.Value == key) { //对目标元素中的第二个属性赋值 att = nodes[i].Attributes["value"]; att.Value = value; break; } } //保存上面的修改 xDoc.Save(strFileName); } /// ///读取配置文件 /// ///

ccproxy ini配置文件详解

[Info] Language=ChineseGB charset=gb2312 Author=Youngzsoft [String] HOMEPAGE=https://www.doczj.com/doc/623382039.html,/ BUYNOW=https://www.doczj.com/doc/623382039.html,/user.htm ;Configuration Dialog Configuration=设置 Protocol=协议 Local IP Address:=请选择本机局域网IP地址: Web Cached=网页缓存 Auto Startup=自动启动 Auto Hide=自动隐藏 Auto Detect=自动检测 Proxy services=代理服务 OK=确定 Cancel=取消 Advanced=高级 NT Service=NT服务 ;Dial Dial-up=拨号 Dial-up Entries=拨号列表 Dial-up User Name=拨号用户名 Dial-up Password=拨号密码 Idle disconnect minutes=拨号空闲断开时间(分钟) Enable Auto Dial-up=允许自动拨号 ;Log Log=日志 CCProxy can log every user's information. Please DON'T intercept user's mail without his/her permission.=CCProxy可以记录每位用户的信息。但未经用户允许,请不要截取他们的邮件。 Log session selection=日志事件选项 Request URL=访问网址 Mail Info=邮件信息 Outgoing Mails=已发送邮件 Maximum Lines=日志文件最大行数 Clear Logs=清除日志 Save Logs to File=保存日志文件至 Export Excel=输出Excel New Log Daily=每天生成新日志

ini文件的操作

delphi开发 ini文件使用详解:ini文件创建、打开、读取、写入操作。ini 文件常用作配置文件使用 (1)INI文件的结构: [节点] 关键字=值 注:INI文件允许有多个节点,每个节点又允许有多个关键字,“=”后面是该关键字的值(类型有串、整型数值和布尔值。其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值注释以分号“;”开头。 (2)INI文件的操作 1、在Interface的Uses节增加IniFiles; 2、在Var变量定义部分增加一行:inifile:Tinifile;然后,就可以对变量myinifile进行创建、写入等操作了。 procedureTForm1.FormCreate(Sender:TObject); var filename:string; begin filename:=ExtractFilePath(paramstr(0))+‘tmp.ini’; inifile:=TInifile.Create(filename); 或filename:=getcurrentdir+ 'tmp.ini '; 或inifile:=TInifile.Create(‘d:\tmp.ini’); 3、打开INI文件:inifile:=Tinifile.create('tmp.ini'); //文件必须存在 4、读取关键字的值: a:=inifile.Readstring('节点','关键字',缺省值);// string类型 b:=inifile.Readinteger('节点','关键字',缺省值);// integer类型 c:=inifile.Readbool('节点','关键字',缺省值);// boolean类型 edit1.text:=inifile.Readstring('程序参数,'用户',‘’); checkbox1.checked:=inifile.Readbool('程序参数,'用户',checkbox1.checked);// boolean类型 inifile.Readstring('程序参数,'用户',edit1.text); inifile.Readbool('程序参数,'用户',checkbox1.checked); 其中[缺省值]为该INI文件不存在该关键字时返回的缺省值。 5、写入INI文件: inifile.writestring('节点','关键字',变量或字符串值); inifile.writeinteger('节点','关键字',变量或整型值); inifile.writebool('节点','关键字',变量或True或False);

C#读写config配置文件

C#读写config配置文件 应用程序配置文件(App.config)是标准的XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。 对于一个config文件: 对config配置文件的读写类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Configuration; using System.ServiceModel; using System.ServiceModel.Configuration; namespace NetUtilityLib { public static class ConfigHelper { //依据连接串名字connectionName返回数据连接字符串 public static string GetConnectionStringsConfig(string connectionName) { //指定config文件读取 string file = System.Windows.Forms.Application.ExecutablePath; System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(file); string connectionString = config.ConnectionStrings.ConnectionStrings[connectionName].ConnectionString.ToString(); return connectionString; } ///

///更新连接字符串 /// ///连接字符串名称 ///连接字符串内容 ///数据提供程序名称 public static void UpdateConnectionStringsConfig(string newName, string newConString, string newProviderName) { //指定config文件读取 string file = System.Windows.Forms.Application.ExecutablePath; Configuration config = ConfigurationManager.OpenExeConfiguration(file); bool exist = false; //记录该连接串是否已经存在 //如果要更改的连接串已经存在 if (config.ConnectionStrings.ConnectionStrings[newName] != null) { exist = true; } // 如果连接串已存在,首先删除它 if (exist) { config.ConnectionStrings.ConnectionStrings.Remove(newName); } //新建一个连接字符串实例

VC++操作INI配置文件的实现

VC++操作INI配置文件的实现 修改浏览权限| 删除 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpString, LPCTSTR lpFileName ); 其中各参数的意义: LPCTSTR lpAppName 是INI文件中的一个字段名. LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名. LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的. LPCTSTR lpFileName 是完整的INI文件名. 2.具体使用方法:设现有一名学生,需把他的姓名和年龄写入c:\stud\student.ini 文件中. CString strName,strTemp; int nAge; strName="张三"; nAge=12; WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini"); 此时c:\stud\student.ini文件中的内容如下: [StudentInfo] Name=张三 3.要将学生的年龄保存下来,只需将整型的值变为字符型即可:

strTemp.Format("%d",nAge); WritePrivateProfileString("StudentInfo","Age",strTemp,"c:\\stud\\student.ini"); 二.将信息从INI文件中读入程序中的变量. 1.所用的WINAPI函数原型为: DWORD GetPrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpFileName ); 其中各参数的意义: 前二个参数与WritePrivateProfileString中的意义一样. lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量. lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器. nSize : 目的缓存器的大小. lpFileName : 是完整的INI文件名. 2.具体使用方法:现要将上一步中写入的学生的信息读入程序中. CString strStudName; int nStudAge; GetPrivateProfileString("StudentInfo","Name","默认姓名 ",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini"); 执行后strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名". 3.读入整型值要用另一个WINAPI函数:

配置文件(ini)的读写

用系统函数读写ini配置文件 一INI文件基础 文件扩展名为ini的文件常用于操作系统、软件等初始化或进行参数设置。ini是initial的缩写。这类文件可以用文本编辑器(如记事本)打开、编辑。 文件格式 节/段sections [section] 参数/键名parameters name=value 注解comments 注解使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。 ;comment text 示例 如QQ安装目录下有一个kernelInfo.ini文件,里面的内容。 [kernel] version=788 packetname=QQPetKernel.EXE ini用途 编写软件的时候需要将一些初始化的信息写入到一个配置文件中,软件启动的时候从这个配置文件中读取这些初始化的信息。软件中的一些过程数据也需要保存到ini文件中。 现在软件大都将这些配置信息写到XML中,因为XML的树形描述层次结构性清晰。这就涉及到XML 的解析,可以自己写解析方法,也可以用第三方库(如TinyXML、CMarkup等)来解析XML。 更多类容可以参考https://www.doczj.com/doc/623382039.html,/u/5135093875 二应用程序的ini读写 系统提供给了读写ini文件的函数,都是以GetPrivateProfile开头的,常用的有下面3个。作一个简要介绍。 GetPrivateProfileString DWORD GetPrivateProfileString( LPCTSTR lpAppName,//points to section name段名 LPCTSTR lpKeyName,//points to key name键名 LPCTSTR lpDefault,//points to default string默认的键值,这个参数不能为 NULL。如果在ini文件中没有找到lpKeyName,就将赋值lpDefault,给lpReturnedString LPTSTR lpReturnedString,//points to destination buffer指向缓冲区的指针,用于保存键值 DWORD nSize,//size of destination buffer缓冲区的大小 LPCTSTR lpFileName//points to initialization filename ini文件的路径 ); 功能:读取对应段和键的值。 返回值: 返回复制到缓冲区的字符个数,并不包括字符串结尾的NULL。 如果lpAppName和lpKeyName都不为空,并且键值的长度大于了缓冲区的长度,那么就将键值切断,并在末尾添加’\0’字符,返回nSize-1。

详解 Desktop.ini 配置设置文件

详解 Desktop.ini 配置设置文件 ㈠、INI文件是什么 Desktop.ini是什么呢?首先,他是一种特殊的.ini文件。那么.ini文件是什么呢?配置设置文件!所以,Desktop.ini是一种特殊的,用来自定义文件夹相关信息的配置文件。默认情况下,他由系统创建,存在于该文件夹下,并具有系统、隐藏属性。 .INI文件是一种具有特定格式的纯文本文件。 Windows利用扩展名为.INI的文件保存Windows 及其应用程序的初始化信息。Windows 及其应用程序每次启动时,都会从相应的.INI文件中读取初始化设置信息,并据此进行配置。 Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在Win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的. 在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个office excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。 早在Dos和Win3.x的时代,大部分的应用程序都是采用了ini 文件(初始化文件)来保存一些配置信息,如设置路径,环境变量等。system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。 这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini 文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI 文件设置起冲突,究竟是谁的优先级更高呢? 注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东。注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施,软件配置等信息,从而方便了管理,增强了系统的稳定性。最直观的一个实例就是,为什么windows下的不同用户可以拥有各自的个性化设置,如不同的墙纸,不同的桌面。这就是通过注册表来实现的。 有关win.ini和system.ini的语法和相关信息,请参与这里: https://www.doczj.com/doc/623382039.html,/s/blog_51a4af870100a2hs.html。

c读写配置文件

MSXML2::IXMLDOMDocumentPtr pDoc; MSXML2::IXMLDOMElementPtr xmlRoot ; // 创建DOMDocument对象 HRESUL T hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40)); if ( ! SUCCEEDED(hr)) { MessageBox( " 无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库! " ); return ; } // 根节点的名称为Book // 创建元素并添加到文档中 xmlRoot = pDoc -> createElement((_bstr_t) " Book " ); // 设置属性 xmlRoot -> setA ttribute( " id " ,( const char * )m_strId); pDoc -> appendChild(xmlRoot); MSXML2::IXMLDOMElementPtr pNode; // 添加“author”元素 pNode = pDoc -> createElement((_bstr_t) " A uthor " ); pNode -> Puttext((_bstr_t)( const char * )m_strA uthor); xmlRoot -> appendChild(pNode); // 添加“Title”元素 pNode = pDoc -> createElement( " Title " ); pNode -> Puttext(( const char * )m_strTitle); xmlRoot -> appendChild(pNode); // 保存到文件 // 如果不存在就建立,存在就覆盖 pDoc -> save( " d://he.xml " ); ------------------------------------------------------------------------------------------------------------------------------------------------ MSXML2::IXMLDOMDocumentPtr pDoc; HRESUL T hr; hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40)); if (FA ILED(hr)) { MessageBox( " 无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库! " ); return ; } // 加载文件 pDoc -> load( " d://he.xml " ); MSXML2::IXMLDOMNodePtr pNode; // 在树中查找名为Book的节点," // "表示在任意一层查找

自制的一个读写INI文件的类

一个手工读写INI文件的类 Windows中有GetPrivateProfileString 和WritePrivateProfileString函数可以进行读写INI 配置文件,但这两个函数每取出一个数据,都要打开文件,在文件中进行搜索,这样处理的效率肯定会很慢,因此下面提供了一个将配置文件读入内存中的做法,这样做的好处是一次读取文件,快速搜索(使用Map映射)。可以将所有数据全部保存成字符串或者文件。 INI配置文件主要由四部分组成:组、键值、内容、注释和空行,下面给出一个例子文件进行说明 文件:E:\boot.ini [boot loader] ;这里是一个组,下面的所有配置数据隶属于该组 timeout=1 ;这里在等于好前面的是一个键值,等号后面的是一个内容 default=multi(0)disk(0)rdisk(0)partition(2)\WINNT;下面一行是一个空行 [operating systems];所有在';'后面的字符都属于注释,本程序不支持REM形式的注释multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect;sadfkl; C:\="Microsoft Windows" 好了,知道了INI文件的结构,开始分析INI文件读入内存后应使用的数据结构。 一个INI文件可以看作是由一些组以及每个组下面的数据组成的,组是字符串形式的,而数据是一个比较复杂的对象。为了搜索的方便,所以这里采用了CMapStringToPtr来组织整个INI文件,这样的话可以由组的字符串方便地查询到该组中的数据 一个组下面的数据是由一些键值— 内容组成的映射关系,所以使用CMapStringToString 来组这这些数据是最好不过的选择了。 下面给出这个类的头文件和实现部分。给出之前简单介绍该类的用法: 读取上述E:\boot.ini文件: #include "cfgdata.h" CCfgData CfgData; //Load INI文件 CfgData.LoadCfgData("E:\\boot.ini"); CString str; long l=0; //设置当前组 CfgData.SetGroup("boot loader"); //读取long型数据到变量l CfgData.GetLongData("timeout",l); //读取字符串型数据到变量str CfgData.GetStrData("default",str);

使用ConfigurationManager类 读写配置文件

使用ConfigurationManager类读写配置文件 使用ConfigurationManager类读写配置文件app.config,以下为代码: view plaincopy to clipboard print? using System; using System.Configuration; static class Program { static void Main() { showConfig(); UpdateAppSettings(); showConfig(); Console.ReadKey(true); } private static void showConfig() { string = ConfigurationManager.AppSettings["Directory"]; Console.WriteLine("AppSetting配置节Path key的value为:" + dir + "\n"); } ///

/// UpdateAppSettings /// public static void UpdateAppSettings() { // Get the configuration file. Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); Console.WriteLine("config.FIlePath: " + config.FilePath + "\n"); config.AppSettings.Settings["Directory"].Value = "tset"; // Save the configuration file. config.AppSettings.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Modified); // Force a reload of the changed section. ConfigurationManager.RefreshSection("appSettings"); } using System; using System.Configuration;

Mysql-my.ini-配置文件详解

Mysql my.ini 配置文件详解 #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE: SYSTEM #END CONFIG INFO # # 此mysql配置文件例子针对4G内存 # 主要使用INNODB #处理复杂队列并且连接数量较少的mysql服务器 # # 将此文件复制到/etc/https://www.doczj.com/doc/623382039.html,f 作为全局设置, # mysql-data-dir/https://www.doczj.com/doc/623382039.html,f 作为服务器指定设置 # (@localstatedir@ for this installation) 或者放入 # ~/https://www.doczj.com/doc/623382039.html,f 作为用户设置. # # 在此配置文件中, 你可以使用所有程序支持的长选项. # 如果想获悉程序支持的所有选项 # 请在程序后加上"--help"参数运行程序. # # 关于独立选项更多的细节信息可以在手册内找到 # # # 以下选项会被MySQL客户端应用读取. # 注意只有MySQL附带的客户端应用程序保证可以读取这段内容. # 如果你想你自己的MySQL应用程序获取这些值 # 需要在MySQL客户端库初始化的时候指定这些选项 # [client] #password = [your_password] port = @MYSQL_TCP_PORT@ socket = @MYSQL_UNIX_ADDR@ # *** 应用定制选项 *** # # MySQL 服务端 # [mysqld] # 一般配置选项 port = @MYSQL_TCP_PORT@ socket = @MYSQL_UNIX_ADDR@ # back_log 是操作系统在监听队列中所能保持的连接数, # 队列保存了在MySQL连接管理器线程处理之前的连接. # 如果你有非常高的连接率并且出现"connection refused" 报错, # 你就应该增加此处的值. # 检查你的操作系统文档来获取这个变量的最大值.

java读写Properties属性文件公用方法

java读写Properties属性文件公用方法 在Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”的格式,文本注释信息可以用"#"来注释。 Properties提供了如下几个主要的方法: 1.getProperty ( String key),用指定的键在此属性列表中搜索属性。也就是通过参数key ,得到key 所对应的value。 2.load ( InputStream inStream),从输入流中读取属性列表(键和元素对)。通过对指定的文件(如test.properties 文件)进行装载来获取该文件中的所有键- 值对。以供getProperty ( String key) 来搜索。 3.setProperty ( String key, String value) ,调用Hashtable 的方法put 。他通过调用基类的put方法来设置键- 值对。 4.store ( OutputStream out, String comments),以适合使用load 方法加载到Properties 表中的格式,将此Properties 表中的属性列表(键和元素对)写入输出流。与load 方法相反,该方法将键- 值对写入到指定的文件中去。 5.clear (),清除所有装载的键- 值对。该方法在基类中提供。 以下提供一套读写配置文件的公用实用方法,我们以后可以在项目中进行引入。 import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileOutputStream;

C# 读写INI文件

以前无知不知道INI文件是什么,毕设需要用到。不得不学着用(据说这种东西是最简单的初始化函数方法)。 由于C#的类库中并不包含读取INI文件的类,用C#读取INI文件必须要用到windows的API函数,所以在声明windows的API函数时必须这样声明一下。 [DllImport("kernel32")] private static extern bool WritePrivateProfileString( string lpAppName, string lpKeyName, string lpString, string lpFileName ); 下面分别介绍一下读取INI文件的windows API函数 “一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpString, LPCTSTR lpFileName ); 其中各参数的意义: LPCTSTR lpAppName 是INI文件中的一个字段名. LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名. LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的. LPCTSTR lpFileName 是完整的INI文件名. 2.具体使用方法:设现有一名学生,需把他的姓名和年龄写入c:\stud\student.ini 文件中. CString strName,strTemp; int nAge; strName="张三"; nAge=12; ::WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini"); 此时c:\stud\student.ini文件中的内容如下: [StudentInfo] Name=张三 3.要将学生的年龄保存下来,只需将整型的值变为字符型即可: strTemp.Format("%d",nAge); ::WritePrivateProfileString("StudentInfo","Age",strTemp,"c:\\stud\\student.ini");

相关主题
文本预览
相关文档 最新文档