c#读取ini文件

       这个是在C#读取配置文件ini的一钟方法,因为C#没有直接读取(VS2005好象有了)的类库,只好引用系统API.

       //引用写出ini设置
        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

        //引用读入ini设置
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileInt(string section, string key, int val, string filePath);

        /*参数说明:section:INI文件中的段落;key:INI文件中的关键字;val:INI文件中关键字的数值;filePath:
           INI文件的完整的路径和名称。 */

        //引用读入ini设置
        [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设置vaule字符串键值
        public void setProfile(string section, string key, string val, string filePath)
        {
            WritePrivateProfileString(section, key, val, filePath);
        }

        //写出ini设置的vaule整型键值
        public void setValInt(string section, string key, int val, string filePath)
        {
            WritePrivateProfileString(section, key, val.ToString(), filePath);
        }

        //读入ini设置的vaule字符串键值
        public string GetValString(string section, string key, string def, string filePath)
        {
            StringBuilder temp = new StringBuilder(512);//这个重要,不然返回不了字符串
            int i = GetPrivateProfileString(section, key, def, temp, 512,filePath);
            return temp.ToString();
        }


        //读入ini设置的整形键值
        public int GetValInt(string section, string key, int def,string filePath)
        {
            return GetPrivateProfileInt(section, key, def,this.IniPath);
        } 

我还不会把键值中的中文取出来,希望那位大哥帮帮下我

你可能感兴趣的:(.NET)