//因为在WinCe平台上开发软件,但是WinCe平台不支持Ini功能,所以就自己写了一个!
using System.Collections.Generic;
using System.IO;
using System.Text;
using System;
namespace myIniJQ
{
/// <summary>
/// 创建ini格式的txt文档
/// </summary>
public class winEcIniJQ
{
private string Path;
/// <summary>
/// 初始化winEc文件读写函数
/// </summary>
/// <param name="Path"></param>
public winEcIniJQ(string Path)
{
Path = Path.Replace("file:\\", "");
this.Path = Path;
}
/// <summary>
/// 读取保存(因为偶尔会出现莫名错误,所以先读取一遍,然后再按照utf-8的格式保存下来,确保文件万无一失)
/// </summary>
/// <returns></returns>
private bool WinNewRead()
{
bool FileState = false;
string strRead = "";
Path = Path.Replace("file:\\", "");
try
{
if (File.Exists(Path))
{
List<string> addstrlist = new List<string>();
StreamReader streamread = new StreamReader(Path, Encoding.UTF8);//打开文件
while ((strRead = streamread.ReadLine()) != null)
{
if (strRead != "")
{
addstrlist.Add(strRead);
}
}
streamread.Close();
StrFlush(addstrlist);
FileState = true;
}
return FileState;
}
catch (Exception ex)
{
FileState = false;
//记录异常
string startError = "winEcIniJQ.WinNewRead函数异常发生时间:" + DateTime.Now.ToString("HHmmss") + " " + ex.InnerException.ToString();
//因为无法预知的异常,并且在出现异常的时候显控无法在窗体上提示,所以我们要创建一个异常文件,来记录当前发生的异常;
string Errorurl = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\winEcIniJQError.txt";
Errorurl = Errorurl.Replace("file:\\", "");
StreamWriter stream = new StreamWriter(Errorurl, true);
stream.WriteLine(startError);
stream.Flush();
stream.Close();
return FileState;
}
}
/// <summary>
/// 读取ini格式的文件
/// </summary>
/// <param name="HeadName">文件头索引</param>
/// <param name="Body">文件内容索引</param>
/// <param name="End">文件内容</param>
/// <returns></retur
仿Ini文件的读写
最新推荐文章于 2023-06-02 15:05:51 发布