`
mengdejun
  • 浏览: 405370 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

C#读取配置文件源代码

 
阅读更多

example1:mysql.ini

[mysql]
username=root;

//注释
password=123456

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mysql

///////////////////////////////////////////////////////////////////////////////////////////////////////////

FileAssistant.cs

//////////////////////////////////////////////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace FileAssistant
{
public class Assistant
{
private String path,section="section1";
private StreamWriter writer=null;
private StreamReader reader=null;
private bool isSection = false,isReader=false,isAppend;
public String Path
{
set
{
path = value;
}
get
{
return path;
}
}
public String Section
{
set
{
section = value;
}
get
{
return section;
}
}
public Assistant()
{
}
public void parse(String path, bool isAppend)
{
this.path = path;
this.isAppend = isAppend;
}
public void put(String Key, String Value)
{
if (isAppend)
{
writer = File.AppendText(path);
}
else
{
writer = File.CreateText(path);
}
if (!isSection)
{
writer.WriteLine("["+section+"]");
}
writer.WriteLine(Key+"="+Value);
writer.Flush();
writer.Close();
isSection = true;
}
public String get(String Key)
{
if (File.Exists(path))
{
try
{
String line = "";
String Value = "";
reader = File.OpenText(path);
line = reader.ReadLine();
while (line != null)
{
if (line.IndexOf("[" + section + "]") >= 0)
{
continue;
}
else
if (line.IndexOf(";") >= 0 || line.IndexOf("#") >= 0)
{
continue;
}
else
if (line.IndexOf(Key) >= 0 && line.IndexOf(";") < 0 && line.IndexOf("#") < 0)
{
Value = line.Substring(Key.Length + "=".Length);
}
line = reader.ReadLine();
}

}
catch (Exception e)
{
reader.Close();
throw new Exception(e.Message);
}
}
else
{
throw new FileNotFoundException(path+"未找到,请确认文件是否存在!");
}
reader.Close();
return Value;

}
public void release()
{
if (isSection)
{
writer.Close();
}
else if(isReader)
{
reader.Close();
}
reader = null;
writer = null;
}
~Assistant()
{
if (isSection)
{
writer.Close();
}
else if (isReader)
{
reader.Close();
}
reader = null;
writer = null;
}

}
}

///////////////////////////////////////////////////////////////////

Test.cs

///////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FileAssistant;
namespace AssistantTest
{
class Program
{
static void Main(string[] args)
{
Assistant file = new Assistant();
file.parse("c://mysql.ini",true);
/**file.Section = "mysql";
file.put("username","root");
file.put("password", "123456");
file.put("driver", "com.mysql.jdbc.Driver");
file.put("url", "jdbc:mysql://localhost:3306/mysql");*/
Console.WriteLine(file.get("username"));
Console.WriteLine(file.get("password"));
Console.WriteLine(file.get("driver"));
Console.WriteLine(file.get("url"));
file.release();
Console.ReadLine();
}
}
}

result:

root
123456

com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/mysql

分享到:
评论

相关推荐

    c#读取配置文件 源代码

    这里我们将深入探讨如何使用C#读取ini配置文件,并通过源代码实例来理解这一过程。 首先,我们需要了解ini文件的结构。INI文件是一种简单的文本格式,用于存储键值对。每个节(section)以方括号`[]`括起,如`...

    C#读写配置文件(附源代码)

    - 使用`ConfigurationManager`类:这是读取配置文件的主要工具。例如,要获取app.config中的键值对,可以使用`ConfigurationManager.AppSettings`属性。下面是一个简单的示例: ```csharp string ...

    C#配置文件读写源代码

    2. **读取配置文件** - 使用`ConfigurationManager`类: ```csharp using System.Configuration; string settingValue = ConfigurationManager.AppSettings["SettingKey"]; ``` - 如果是连接字符串: ```...

    c# 通过配置文件读取数据库连接字符创,读取配置文件值

    1. **读取配置文件**: - 使用`ConfigurationManager`类的`OpenExeConfiguration`方法打开当前执行程序的配置文件。 - `Configuration`对象可以访问配置文件的所有部分,如`AppSettings`、`ConnectionStrings`等。...

    C#读取SQLite数据库源代码

    本教程将详细介绍如何使用C#读取SQLite数据库,以及涉及的源代码和依赖项。 首先,为了在C#项目中使用SQLite,我们需要一个能够与SQLite通信的驱动程序。"sqlite.dll"是一个关键的依赖文件,它提供了.NET应用程序与...

    C#读取thumbs.db数据源代码下载.rar

    具体来说,这里可能有C#源代码(.cs文件)、资源文件(如图片、配置文件等)、编译后的类库或可执行文件等。 通过分析这个压缩包,我们可以学到以下几个关键知识点: 1. **C#编程**:使用C#语言进行开发,了解基本...

    c#根据配置文件进行反射

    2. 读取配置文件:使用`ConfigurationManager`读取配置文件中的相关信息。 3. 获取类型:使用`Type.GetType()`方法,传入配置文件中读取到的类库全名(包括命名空间)来获取`Type`对象。 4. 创建实例:如果需要实例...

    C#读写配置文件

    #### 读取配置文件 1. **获取配置节**:配置文件中的数据被组织成节(如`&lt;appSettings&gt;`或`&lt;connectionStrings&gt;`),可以使用`ConfigurationManager.GetSection`方法获取。 2. **读取键值对**:在`&lt;appSettings&gt;`节...

    C#读取bin文件

    标题 "C#读取bin文件" 涉及的核心知识点是使用C#编程语言处理二进制文件(.bin文件)。.bin文件通常用于存储原始二进制数据,如程序的机器码、配置数据或任何非文本格式的信息。在Visual Studio 2010环境下,C#提供...

    一个 C#配置组件源代码,很方便

    在压缩包中的"upload"文件可能是该组件的源代码,开发者可以通过阅读源码了解其工作原理,或者对其进行定制以适应特定的需求。如果你打算使用这个组件,建议先仔细阅读提供的说明,理解其API和使用方法,然后在自己...

    C#实现文件上传下载源代码

    * 读取配置文件(web.config)中的文件上传路径 * 如果文件上传路径不存在,创建该路径 * 将虚拟路径转换为物理路径 * 获取文件夹中的所有文件,并计算文件夹已经使用的容量 2. 文件夹管理功能实现 在源代码中,...

    用C#快速读取XML文件,并遍历

    而"ReadXML"可能是项目的主要源代码文件,很可能包含了用C#实现的XML读取和遍历的示例代码。打开这些文件,我们可以看到具体的实现细节,如如何加载XML文件,如何定义XPath表达式,以及如何使用迭代器遍历XML结构。 ...

    C# 简单的 抽奖 程序 源代码

    在本项目中,我们主要探讨的是一个基于C#编写的简单抽奖程序,它适用于各种活动或竞赛中的随机抽签...通过学习和理解这个源代码,开发者不仅可以掌握C#的基础知识,还能了解到如何将这些知识应用于实际的项目开发中。

    c#源代码行数统计工具

    3. **配置文件处理**:用户自定义的排除规则可能存储在配置文件中,工具需要读取并应用这些规则。 4. **数据处理和导出**:统计结果的计算和转换成Excel格式的过程。 总之,"C#源代码行数统计工具"是一款实用的辅助...

    C#登陆器源代码

    7. **配置文件读写**:登陆器可能需要读取配置文件来获取服务器地址、端口等信息,C#的System.IO命名空间提供了对此类操作的支持。 8. **版本控制**:源代码中可能还包括版本信息,以便于跟踪代码的变更历史和协同...

    c#上位机数据采集源代码

    项目文件可能包含`.csproj`、`.sln`、源代码文件(`.cs`)、资源文件(如图标、图片)、配置文件以及第三方库的引用等,它们共同构成了这个数据采集系统。通过查看这些源代码,我们可以深入理解数据采集、处理和展示...

    文件批量处理器 源代码 C#

    本项目以“文件批量处理器”为标题,提供的是使用C#编程语言编写的源代码,开发环境为Visual Studio(VS)。这个工具可能包含各种功能,如重命名、移动、复制、转换、压缩或解压等文件操作。以下将详细探讨C#在构建...

    c#整站爬虫源代码.rar

    【标题】"C#整站爬虫源代码"是一个关于使用C#编程语言构建网络爬虫的项目。这个源代码的目的是抓取指定网站上的所有超链接,进而下载该网站的全部资源。开发者在此基础上对原有的代码进行了改进,使之更加完善。 在...

    C#读取配置文件的方法汇总

    在C#编程中,配置文件...以上就是六种使用C#读取配置文件的方法。每种方法都有其适用场景,根据项目需求和团队习惯选择合适的方式。记得在实际开发中,要确保正确处理异常,以及在读取敏感信息时采取适当的加密措施。

    ini C#操作源代码

    ini文件在计算机编程中是一种常见的配置文件格式,用于存储用户设置、应用程序配置等信息。C#作为.NET框架的一部分,提供了丰富的API和库来方便开发者处理ini文件。本篇将深入探讨如何在C#中进行ini文件的操作,以及...

Global site tag (gtag.js) - Google Analytics