定义一个连接配置文件类OmCipNetParam
- public class OmCipNetParam{
- //设备ip地址
- public string PlcIp;
- //设备端口号
- public int PlcPort;
- //设备槽号
- public byte slot;
- //本地IP地址
- public string LocalIp;
- /// <summary>
- /// 构造函数
- /// </summary>
- public OmCipNetParam()
- {
- PLcIP = "192.168.250.1";
- PLcProt = 44818;
- PLcSolt = 0;
- LocalIp = "127.0.0.1";
- }
-
- }
复制代码 定义一个结构体,传递函数运行结果和运行信息
- public struct Error
- {
- public bool Flag;
- public string Info;
- }
复制代码 使用Newtonsoft.Json进行序列化和反序列化读写配置文件
 - public static Error Write(string path, OmCipNetParam param)
- {
- Error er = default(Error);
- FileInfo fi = new FileInfo(path);
- //文件是否存在标志
- bool flag = false;
- //对象是否为空标志
- bool flag2 = false;
- try
- {
- flag2 = param == null;
- if (flag2)
- {
- param = new OmCipNetParam();
- }
- flag = !fi.Directory.Exists;
- if (flag)
- {
- fi.Create();
- }
- StreamWriter writer = new StreamWriter(path);
- // 执行序列化
- string json = JsonConvert.SerializeObject(param);
- //写入文件
- writer.WriteLine(json);
- writer.Close();
- er.Flag = true;
- er.Info = "保存完成";
- }
- catch (Exception ex)
- {
- er.Flag = false;
- er.Info = string.Format("错误信息:{0}", ex.Message);
- }
- return er;
- }
复制代码 同理反序列读取配置文件
- public static Error Reade(string path,out OmCipNetParam param)
- {
- param = new OmCipNetParam();
- Error er = default(Error);
- try
- {
- FileInfo fi = new FileInfo(path);
- //文件目录是否存在标志
- bool flag = !fi.Directory.Exists;
- if (flag)
- {
- fi.Create();
-
- }
- //文件是否存在标志
- bool flag2 = fi.Exists;
- //如果存在
- if(flag2){
- //文件读取
- // string json = File.ReadAllText(path);
- StreamReader reader = new StreamReader(path);
- string json = reader.ReadLine();
- //反序列
- param = JsonConvert.DeserializeObject<OmCipNetParam>(json);
- reader.Close();
- er.Flag = true;
- er.Info = "读取成功!";
- }
- else
- {
- StreamWriter writer = new StreamWriter(path);
- // 执行序列化
- string json = JsonConvert.SerializeObject(param);
- //写入文件
- writer.WriteLine(json);
- writer.Close();
- er.Flag = true;
- er.Info = "文件不存在,已经创建,请配置";
- }
-
- }
- catch (Exception ex)
- {
- er.Flag = false;
- er.Info = string.Format("错误信息:{0}", ex.Message);
- }
- return er;
- }
复制代码 注意这里需要引入库- using System.IO;
- using Newtonsoft.Json;
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |