[코드] ini 파일 읽기 도구 클래스

13369 단어 파일 읽기
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace hrattendance.Common { /// <summary> /// INIFile 。 /// </summary> public class INIFile { public string path; public INIFile(string INIPath) { path = INIPath; } #region [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 int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal, int size, string filePath); #endregion
#region INI /// <summary> /// INI /// </summary> /// <param name="Section"></param> /// <param name="Key"></param> /// <param name="Value"></param> public void IniWriteValue(string Section, string Key, string Value) { WritePrivateProfileString(Section, Key, Value, this.path); } #endregion #region ini /// <summary> /// ini /// </summary> public void ClearAllSection() { IniWriteValue(null, null, null); } /// <summary> /// ini personal /// </summary> /// <param name="Section"></param> public void ClearSection(string Section) { IniWriteValue(Section, null, null); } #endregion #region INI /// <summary> /// INI /// </summary> /// <param name="Section"></param> /// <param name="Key"></param> /// <returns></returns> public string IniReadValue(string Section, string Key) { StringBuilder temp = new StringBuilder(1000); int i = GetPrivateProfileString(Section, Key, "", temp, 1000, this.path); return temp.ToString(); } public byte[] IniReadValues(string section, string key) { byte[] temp = new byte[1000]; int i = GetPrivateProfileString(section, key, "", temp, 1000, this.path); return temp; } /// <summary> /// ini /// </summary> public string[] IniReadValues() { byte[] allSection = IniReadValues(null, null); return ByteToString(allSection); } /// <summary> /// byte[] string[] /// </summary> /// <param name="sectionByte"></param> /// <returns></returns> private string[] ByteToString(byte[] sectionByte) { ASCIIEncoding ascii = new ASCIIEncoding(); // key string string sections = ascii.GetString(sectionByte); // key string[] sectionList = sections.Split(new char[1] { '\0' }); return sectionList; } /// <summary> /// ini /// </summary> public string[] IniReadValues(string Section) { byte[] sectionByte = IniReadValues(Section, null); return ByteToString(sectionByte); } #endregion } }

PS:
INI는 바로 확장명이'인I'인 파일이다. 사실 그 자체는 텍스트 파일로 수첩으로 아르바이트를 할 수 있다. 주로 사용자가 선택한 파일이나 시스템의 각종 파라미터를 저장한다.INI 파일은 사실 일반적인 텍스트 파일이 아니다.그것은 자신의 구조를 가지고 있다.몇 개의 단락(SECTION)으로 구성되어 있으며, 각 괄호가 있는 제목 아래에는 한 단어로 시작하는 몇 개의 키워드(KEYWORD)와 하나의 등호가 있고, 등호 오른쪽은 바로 키워드의 값(VALUE)이다.예를 들어 [section1] KeyWord1 = Value1 KeyWord2 = Value2...[Section2]    KeyWord3 = Value3    KeyWord4 = Value4

좋은 웹페이지 즐겨찾기