Csharp/C#教程:c#实现ini文件读写类分享分享

代码如下:
///<summary>
   ///读写INI文件的类。
   ///</summary>
   publicclassINIHelper
   {
       //读写INI文件相关。
       [DllImport(“kernel32.dll”,EntryPoint=”WritePrivateProfileString”,CharSet=CharSet.Ansi)]
       publicstaticexternlongWritePrivateProfileString(stringsection,stringkey,stringval,stringfilePath);
       [DllImport(“kernel32.dll”,EntryPoint=”GetPrivateProfileString”,CharSet=CharSet.Ansi)]
       publicstaticexternintGetPrivateProfileString(stringsection,stringkey,stringdef,StringBuilderretVal,intsize,stringfilePath);

       [DllImport(“kernel32.dll”,EntryPoint=”GetPrivateProfileSectionNames”,CharSet=CharSet.Ansi)]
       publicstaticexternintGetPrivateProfileSectionNames(IntPtrlpszReturnBuffer,intnSize,stringfilePath);

       [DllImport(“KERNEL32.DLL”,EntryPoint=”GetPrivateProfileSection”,CharSet=CharSet.Ansi)]
       publicstaticexternintGetPrivateProfileSection(stringlpAppName,byte[]lpReturnedString,intnSize,stringfilePath);

       ///<summary>
       ///向INI写入数据。
       ///</summary>
       ///<PARAMname=”Section”>节点名。</PARAM>
       ///<PARAMname=”Key”>键名。</PARAM>
       ///<PARAMname=”Value”>值名。</PARAM>
       publicstaticvoidWrite(stringSection,stringKey,stringValue,stringpath)
       {
           WritePrivateProfileString(Section,Key,Value,path);
       }

       ///<summary>
       ///读取INI数据。
       ///</summary>
       ///<PARAMname=”Section”>节点名。</PARAM>
       ///<PARAMname=”Key”>键名。</PARAM>
       ///<PARAMname=”Path”>值名。</PARAM>
       ///<returns>相应的值。</returns>
       publicstaticstringRead(stringSection,stringKey,stringpath)
       {
           StringBuildertemp=newStringBuilder(255);
           inti=GetPrivateProfileString(Section,Key,””,temp,255,path);
           returntemp.ToString();
       }

       ///<summary>
       ///读取一个ini里面所有的节
       ///</summary>
       ///<paramname=”sections”></param>
       ///<paramname=”path”></param>
       ///<returns></returns>
       publicstaticintGetAllSectionNames(outstring[]sections,stringpath)
       {
           intMAX_BUFFER=32767;
           IntPtrpReturnedString=Marshal.AllocCoTaskMem(MAX_BUFFER);
           intbytesReturned=GetPrivateProfileSectionNames(pReturnedString,MAX_BUFFER,path);
           if(bytesReturned==0)
           {
               sections=null;
               return-1;
           }
           stringlocal=Marshal.PtrToStringAnsi(pReturnedString,(int)bytesReturned).ToString();
           Marshal.FreeCoTaskMem(pReturnedString);
           //useofSubstringbelowremovesterminatingnullforsplit
           sections=local.Substring(0,local.Length-1).Split(‘’);
           return0;
       }

       ///<summary>
       ///得到某个节点下面所有的key和value组合
       ///</summary>
       ///<paramname=”section”></param>
       ///<paramname=”keys”></param>
       ///<paramname=”values”></param>
       ///<paramname=”path”></param>
       ///<returns></returns>
       publicstaticintGetAllKeyValues(stringsection,outstring[]keys,outstring[]values,stringpath)
       {
           byte[]b=newbyte[65535];

           GetPrivateProfileSection(section,b,b.Length,path);
           strings=System.Text.Encoding.Default.GetString(b);
           string[]tmp=s.Split((char)0);
           ArrayListresult=newArrayList();
           foreach(stringrintmp)
           {
               if(r!=string.Empty)
                   result.Add(r);
           }
           keys=newstring[result.Count];
           values=newstring[result.Count];
           for(inti=0;i<result.Count;i++)
           {
               string[]item=result[i].ToString().Split(newchar[]{‘=’});
               if(item.Length==2)
               {
                   keys[i]=item[0].Trim();
                   values[i]=item[1].Trim();
               }
               elseif(item.Length==1)
               {
                   keys[i]=item[0].Trim();
                   values[i]=””;
               }
               elseif(item.Length==0)
               {
                   keys[i]=””;
                   values[i]=””;
               }
           }

           return0;
       }

   }

您可能感兴趣的文章:C#中读写INI配置文件的方法Windows系统中C#读写ini配置文件的程序代码示例分享C#读写INI文件的方法C#实现利用WindowsAPI读写INI文件的方法C#实现读写ini文件类实例c#读写ini配置文件示例C#中读写INI文件的方法例子C#实现ini文件读写操作

标签: c# ni ini文件 ini

C++ COM编程之QueryInterface函数(一)

C++设计模式之装饰模式

上述就是C#学习教程:c#实现ini文件读写类分享分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ctvol.com/cdevelopment/905149.html

(0)
上一篇 2021年10月22日
下一篇 2021年10月22日

精彩推荐