记录一下winform读取、配置json配置文件的方式

工具类

    public class Helper
    {
        /// <summary>
        /// 用来做软件的日常信息保存
        /// </summary>
        /// <param name="strLog"></param>
        public static void InfoLog(string strLog)
        {
            try
            {
                string basepath = AppDomain.CurrentDomain.BaseDirectory + "Log//Info//";
                if (!Directory.Exists(basepath))
                {
                    Directory.CreateDirectory(basepath);
                }

                string path = basepath + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                StreamWriter sw = File.AppendText(path);
                sw.WriteLine(DateTime.Now.ToString("HH:mm:ss:fff") + " " + strLog);
                sw.Close();
            }
            catch
            {
            }
        }

        public static void WriteFile(string value)
        {
            try
            {
                string basepath = AppDomain.CurrentDomain.BaseDirectory + "SettingInfo//";
                if (!Directory.Exists(basepath))
                {
                    Directory.CreateDirectory(basepath);
                }

                string path = basepath + "Setting.txt";
                File.WriteAllText(path, value);
            }
            catch
            {
            }
        }

        public static string ReadFile(string path = null)
        {
            try
            {
                if (string.IsNullOrEmpty(path))
                {
                    path = AppDomain.CurrentDomain.BaseDirectory + "SettingInfo//Setting.txt";
                }
                return File.ReadAllText(path);
            }
            catch (Exception)
            {
                return null;
            }

        }

        /// <summary>
        /// 读取实体类List
        /// </summary>
        /// <typeparam name="T">List<Model></typeparam>
        /// <returns></returns>
        public static T ReadModelList<T>()
        {
            try
            {
                string value = Helper.ReadFile();
                var list = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(value);
                return list;
            }
            catch (Exception)
            {
                return default;
            }
        }

        /// <summary>
        /// 将配置写入json文件
        /// </summary>
        /// <param name="modelList"></param>
        public static void WriteJsonFile(object modelList)
        {
            try
            {
                string rst = Newtonsoft.Json.JsonConvert.SerializeObject(modelList);
                JArray jobj = JArray.Parse(rst);
                string jsonStr = jobj.ToString();
                Helper.WriteFile(jsonStr);
            }
            catch (Exception)
            {
            }
        }

        /// <summary>
        /// //16转2方法
        /// </summary>
        /// <param name="hexString"></param>
        /// <returns></returns>
        public static string HexString2BinString(string hexString)
        {
            try
            {
                string result = string.Empty;
                foreach (char c in hexString)
                {
                    int v = Convert.ToInt32(c.ToString(), 16);
                    int v2 = int.Parse(Convert.ToString(v, 2));
                    // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格,
                    result += string.Format("{0:d4} ", v2);
                }
                return result;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw;
            }
        }

        /// <summary>
        /// 反转字符串
        /// </summary>
        /// <param name="input"></param>
        public static string Reversal(string input)
        {
            string result = "";
            for (int i = input.Length - 1; i >= 0; i--)
            {
                result += input[i];
            }
            return result;
        }
    }

实体类

public class MsgModel
{
    /// <summary>
    /// 发送的消息
    /// </summary>
    public string SendMsg { get; set; }

    public string SendIp { get; set; }

    public int SendPort { get; set; }

    /// <summary>
    /// 延迟多少毫秒后发送消息
    /// </summary>
    public int DelayTime { get; set; }
}

定义一个list

 List<MsgModel> msgList = new List<MsgModel>();

进行读取或者配置

List<MsgModel> msgList = Helper.ReadModelList<List<MsgModel>>();

//或者
try
{
    string value = Helper.ReadFile();
    msgList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MsgModel>>(value);
}
catch (Exception ex)
{
    MessageBox.Show("JSON格式错误:" + ex.ToString());
}

WinForm读取Oracle配置文件,可以按照以下步骤进行: 1. 首先,确保已经正确安装了Oracle客户端,并配置好了环境变量。这样才能在WinForm中正确访问Oracle数据库。 2. 在WinForm的项目中添加一个配置文件,可以命名为“App.config”,这个文件将用于存储Oracle数据库的连接信息。 3. 在配置文件中添加以下代码,用于配置Oracle数据库的连接信息: ```xml <configuration> <appSettings> <add key="OracleConnectionString" value="Data Source=数据库地址;User ID=用户名;Password=密码;"/> </appSettings> </configuration> ``` 其中,将“数据库地址”替换为实际的Oracle数据库地址、“用户名”替换为要连接的数据库的用户名、“密码”替换为对应的密码。 4. 在WinForm中的代码中,可以通过以下方法读取配置文件中的连接信息: ```csharp string connectionString = ConfigurationManager.AppSettings["OracleConnectionString"]; ``` 这样就可以获取到配置文件中存储的Oracle数据库的连接字符串。 5. 使用获取到的连接字符串进行数据库操作,例如连接数据库、执行SQL语句等。 需要注意的是,配置文件中的连接信息可以根据实际情况进行修改,以适应不同的Oracle数据库连接需求。另外,在代码中访问配置文件需要引用`System.Configuration`命名空间。 以上就是在WinForm读取Oracle配置文件的基本步骤。通过配置文件,在不同环境下可以方便地修改连接信息,使得程序更加灵活和易于维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值