ini文件操作类

    public class IniFileHelper
    {
        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

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

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

        public static void SetValue(string section, string key, string value, string path)
        {
            WritePrivateProfileString(section, key, value, path);
        }

        public static string GetValue(string section, string key, string path, string defaultValue = null, bool writeDefaultValue = false)
        {
            var temp = new StringBuilder(255);
            GetPrivateProfileString(section, key, "", temp, 255, path);
            var result = temp.ToString();
            if (string.IsNullOrEmpty(result))
            {
                if (writeDefaultValue)
                    SetValue(section, key, defaultValue, path);
                return defaultValue;
            }
            return result;
        }

        public byte[] GetValues(string section, string key, string path)
        {
            var temp = new byte[255];
            var i = GetPrivateProfileString(section, key, "", temp, 255, path);
            return temp;
        }

        public void ClearAllSection(string path)
        {
            SetValue(null, null, null, path);
        }

        public void ClearSection(string section, string path)
        {
            SetValue(section, null, null, path);
        }
    }

  

posted @ 2013-08-30 16:18  三叶草╮  阅读(171)  评论(0编辑  收藏  举报