C# 处理INI文个类 INIManager

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;

namespace MeiDuShaV1.Business
{
 
    public class INIManager
    {

        /*原型
         * BOOL WritePrivateProfileString(
                    LPCTSTR lpAppName, //是INI文件中的一个字段名.
                    LPCTSTR lpKeyName,  //是lpAppName下的一个键名,通俗讲就是变量名.
                    LPCTSTR lpString,   //是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.
                    LPCTSTR lpFileName  //文件路径
         * );

         */
        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

        /* DWORD GetPrivateProfileString(
                     LPCTSTR lpAppName,
                     LPCTSTR lpKeyName,
                     LPCTSTR lpDefault, //如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
                     LPTSTR lpReturnedString,
                     DWORD nSize,
                     LPCTSTR lpFileName
         * ); */

        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

        private string filePath;

        public INIManager(string filePath)
        {
            this.filePath = filePath;
        }

        public void Write(string section ,string key,string value)
        {
            try
            {
                WritePrivateProfileString(section, key, value, filePath);
            }
            catch(Exception ex)
            {
                throw new Exception(ex.ToString());
            }
        }

        public string Read(string section ,string key)
        {
            try
            {
                StringBuilder temp = new StringBuilder(255);
                int i = GetPrivateProfileString(section, key, string.Empty, temp, 255, filePath);
                return temp.ToString();
            }
            catch(Exception ex)
            {
               
                throw new Exception(ex.ToString());
            }
        }
    }

 


}

Code
posted @ 2007-12-26 11:01  吴碧宇  阅读(666)  评论(0编辑  收藏  举报