c# ini文件操作

INI文件就是扩展名为"ini"的文件。

  其一般形式如下:

  [section1]                             // 配置节

  //键名          //键值

  keyword1 = valuel

  keyword2 = value2

  ……

  [section2]

  keyword3 = value3

  keyword4 = value4

  在Windows系统中,INI文件是很多,最重要的就是"System.ini"、"System32.ini"和"Win.ini"。该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中。以及XML文件的国际标准化给INI文件又一次打击。

  但在某些场合,INI文件还拥有其不可替代的地位。比如绿色软件的规定就是不向注册表和系统中填入新东西。对于软件需要储存的信息就需要存入到 文件中了。XML虽然兼容性比较好,但对于仅仅保存几个自定义参数而言就显得大材小用了。这是就可以选择使用快速简单的储存方式:INI文件。

  本文就来探讨一下C#是如何对INI进行读写操作。

  主要思路是调用Win32 API。

  1.引入命名空间

  using System.Runtime.InteropServices;

  2.声明(把一个Win32 API函数转成C#函数)

  //声明INI文件的写操作函数 WritePrivateProfileString()

  [DllImport("kernel32")]

  private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

  //声明INI文件的读操作函数 GetPrivateProfileString()

  [DllImport("kernel32")]

  private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

  3.函数

  public void Writue(string section, string key, string value)

  {

  // section=配置节,key=键名,value=键值,path=路径

  WritePrivateProfileString(section, key, value, sPath);

  }

  public string ReadValue(string section, string key)

  {

  // 每次从ini中读取多少字节

  System.Text.StringBuilder temp = new System.Text.StringBuilder(255);

  // section=配置节,key=键名,temp=上面,path=路径

  GetPrivateProfileString(section, key, "", temp, 255, sPath);

  return temp.ToString();                  //注意类型的转换

  }到此基本功能已经实现了。下面我们将所有的代码重新整合一下:

  namespace Library.File

  {

  public class Ini

  {

  // 声明INI文件的写操作函数 WritePrivateProfileString()

  [System.Runtime.InteropServices.DllImport("kernel32")]

  private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

  // 声明INI文件的读操作函数 GetPrivateProfileString()

  [System.Runtime.InteropServices.DllImport("kernel32")]

  private static extern int GetPrivateProfileString(string section, string key, string def, System.Text.StringBuilder retVal, int size, string filePath);

  private string sPath = null;

  public Ini(string path)

  {

  this.sPath = path;

  }

  public void Writue(string section, string key, string value)

  {

  // section=配置节,key=键名,value=键值,path=路径

  WritePrivateProfileString(section, key, value, sPath);

  }

  public string ReadValue(string section, string key)

  {

  // 每次从ini中读取多少字节

  System.Text.StringBuilder temp = new System.Text.StringBuilder(255);

  // section=配置节,key=键名,temp=上面,path=路径

  GetPrivateProfileString(section, key, "", temp, 255, sPath);

  return temp.ToString();

  }

  }

  }

  开始调用函数。

  // 写入ini

  Ini ini = new Ini("C:/config.ini");

  ini.Writue("Setting", "key1", "HELLO WORLD!");

  ini.Writue("Setting", "key2", "HELLO CHINA!");

  // 读取ini

  Ini ini = new Ini("C:/config.ini");

  string str1 = ini.ReadValue("Setting", "key1");

  MessageBox.Show(str1);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当我们将Java项目打成jar文件时,有时会遇到不到或无法加载主类main的问题解决这个问题的方法如下: 1. 确保项目存在一个含main方法的主类。这个类是程序执行的入口点,必须含一个这样的方法。确保这个类被定义为public并且在正确的。 2. 检查项目的构建配置是否正确。在IDE,我们需要配置项目的构建方式,确保生成的jar文件含所有必要的依赖和资源文件。如果配置不正确,编译器将无法到主类。 3. 检查jar文件的目录结构。jar文件是一个压缩文件,其含了所有的编译好的类文件和资源文件。确保main类位于正确的位置,并且在jar文件的MANIFEST.MF文件正确地声明了main类。 4. 如果使用外部库或依赖项,确保这些库也被正确地打进jar文件。在jar的构建过程,我们需要将这些库文件加入到classpath,以便程序能够正确加载这些类。 5. 检查操作系统或环境变量的设置。有时,不到或无法加载主类main的问题可能是由于操作系统或环境变量没有正确配置导致的。确保Java的相关路径设置正确,并且JRE或JDK的版本与项目要求的兼容。 通过以上的步骤,我们应该能够解决不到或无法加载主类main的问题,成功运行打好的jar文件。如果问题仍然存在,我们可能需要进一步检查代码、构建配置和环境设置,以问题的根本原因。 ### 回答2: 在使用ideajar文件时,有时会遇到不到或无法加载主类 main的问题。这个问题通常是由于项目设置的不正确或依赖未正确加载所致。我们可以按照以下步骤来解决这个问题。 首先,我们要确保项目的配置正确。可以通过以下步骤进行检查和修正: 1. 确保在项目的工程结构设置,已正确指定了主类。可以在File -> Project Structure -> Project查看和修改。 2. 检查项目的模块配置,确保主类已正确指定。可以在File -> Project Structure -> Modules查看和修改。 3. 确保项目的运行配置正确。可以在Run -> Edit Configurations查看和修改。 4. 检查项目的依赖配置,确保依赖已正确加载。可以在File -> Project Structure -> Libraries查看和修改。 如果以上步骤都已经核对无误,但问题仍然存在,我们可以尝试执行以下操作: 1. 清理和重新编译项目。可以在Build -> Rebuild Project进行操作。 2. 在项目的out目录下手动删除旧的jar文件。 3. 删除.idea目录和.iml文件,并重新导入项目。 如果问题仍然存在,可能是由于其他问题引起的。可以尝试以下操作: 1. 检查项目的源代码,确保没有语法错误或逻辑错误。 2. 检查项目的运行环境,确保所需的Java版本已经安装和配置正确。 3. 检查项目的依赖,确保依赖的版本和兼容性正确。 综上所述,通过检查项目配置、重新编译、清理旧文件以及检查源代码和依赖等方面,我们可以解决ideajar文件时出现不到或无法加载主类 main的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值