[코드] 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android에서 중국어 문자를 읽는 파일 읽기 관련 설명1. assets/license를 어떻게 표시합니까?txt (중국어) 내용?(1) 메서드 1: InputStream.available () 는 바이트 수를 얻어 한 번에 읽습니다 (2) 방법 2: BufferedRe...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.