国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

序列化與反序列化讀取配置文件

這篇具有很好參考價(jià)值的文章主要介紹了序列化與反序列化讀取配置文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

定義一個(gè)連接配置文件類OmCipNetParam

public class OmCipNetParam{
    //設(shè)備ip地址
    public string PlcIp;
    //設(shè)備端口號(hào)
    public int PlcPort;
    //設(shè)備槽號(hào)
    public byte slot;
    //本地IP地址
    public string LocalIp;
  /// <summary>
  /// 構(gòu)造函數(shù)
  /// </summary>
  public OmCipNetParam()
  {
      PLcIP = "192.168.250.1";
      PLcProt = 44818;
      PLcSolt = 0;
      LocalIp = "127.0.0.1";
  }
    
}

定義一個(gè)結(jié)構(gòu)體,傳遞函數(shù)運(yùn)行結(jié)果和運(yùn)行信息

?

 public struct Error
 {
     public bool Flag;
     public string Info;
 }	

使用Newtonsoft.Json進(jìn)行序列化和反序列化讀寫配置文件

序列化與反序列化讀取配置文件

 public static Error Write(string path, OmCipNetParam param)
 {
     Error er = default(Error);
     FileInfo fi = new FileInfo(path);
     //文件是否存在標(biāo)志
     bool flag = false;
     //對(duì)象是否為空標(biāo)志
     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);
         // 執(zhí)行序列化
         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("錯(cuò)誤信息:{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);
         //文件目錄是否存在標(biāo)志
         bool flag = !fi.Directory.Exists;
         if (flag)
         {
             fi.Create();
             
         }
         //文件是否存在標(biāo)志
         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);
             // 執(zhí)行序列化
             string json = JsonConvert.SerializeObject(param);
             //寫入文件
             writer.WriteLine(json);
             writer.Close();
             er.Flag = true;
             er.Info = "文件不存在,已經(jīng)創(chuàng)建,請(qǐng)配置";
         }
       
     }
     catch (Exception ex)
     {
         er.Flag = false;
         er.Info = string.Format("錯(cuò)誤信息:{0}", ex.Message);

     }

     return er;
 }

注意這里需要引入庫(kù)文章來源地址http://www.zghlxwxcb.cn/news/detail-711342.html

using System.IO;
using Newtonsoft.Json;

到了這里,關(guān)于序列化與反序列化讀取配置文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 4.4. 對(duì)象序列化與反序列化

    4.4. 對(duì)象序列化與反序列化

    在本節(jié)中,我們將詳細(xì)討論Java中的對(duì)象序列化與反序列化概念、使用方法以及實(shí)例。對(duì)象序列化是將對(duì)象的狀態(tài)信息轉(zhuǎn)換為字節(jié)流的過程,而反序列化則相反,是將字節(jié)流恢復(fù)為對(duì)象的過程。 4.4.1 為什么需要對(duì)象序列化? 對(duì)象序列化的主要目的是為了在不同的系統(tǒng)間傳輸對(duì)

    2024年02月07日
    瀏覽(23)
  • Flutter筆記:序列化與反序列化

    Flutter筆記 序列化與反序列化 作者 : 李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 郵箱 : 291148484@163.com 本文地址 :https://blog.csdn.net/qq_28550263/article/details/133340592 序列化是一種將復(fù)雜數(shù)據(jù)結(jié)構(gòu)(例如對(duì)象、數(shù)組、字典等)轉(zhuǎn)換為線性格式或字節(jié)流的過程,以便于數(shù)據(jù)的存儲(chǔ)

    2024年02月07日
    瀏覽(15)
  • 【計(jì)算機(jī)網(wǎng)絡(luò)】序列化與反序列化

    【計(jì)算機(jī)網(wǎng)絡(luò)】序列化與反序列化

    通過打包的方式,將結(jié)構(gòu)體message發(fā)送給對(duì)方 對(duì)方收到后就會(huì)報(bào)告給上層QQ客戶端 結(jié)構(gòu)化的數(shù)據(jù) 是由 多個(gè) string 構(gòu)成的 而以前在網(wǎng)絡(luò)套接字 發(fā)送時(shí),都是按照一個(gè)字符串的方式來發(fā)送和接收的 所以想辦法 ,把多個(gè)字符串 轉(zhuǎn)化為 一個(gè)大\\\"字符串\\\",對(duì)方在接收時(shí)也是一個(gè)長(zhǎng)的

    2024年02月10日
    瀏覽(25)
  • 【Java 基礎(chǔ)篇】Java序列化與反序列化詳解

    在Java中,序列化和反序列化是一種將對(duì)象轉(zhuǎn)換為字節(jié)流和將字節(jié)流轉(zhuǎn)換為對(duì)象的機(jī)制。通過序列化,可以將對(duì)象存儲(chǔ)到文件中、傳輸?shù)骄W(wǎng)絡(luò)上,或者在分布式系統(tǒng)中進(jìn)行對(duì)象的傳遞。本文將詳細(xì)介紹Java序列化和反序列化的原理、使用方法和常見應(yīng)用場(chǎng)景,并提供一些示例代

    2024年02月09日
    瀏覽(24)
  • 【網(wǎng)絡(luò)編程】協(xié)議定制+Json序列化與反序列化

    【網(wǎng)絡(luò)編程】協(xié)議定制+Json序列化與反序列化

    需要云服務(wù)器等云產(chǎn)品來學(xué)習(xí)Linux的同學(xué)可以移步/--騰訊云--/--阿里云--/--華為云--/官網(wǎng),輕量型云服務(wù)器低至112元/年,新用戶首次下單享超低折扣。 ? 目錄 一、序列化與反序列化的概念 二、自定義協(xié)議設(shè)計(jì)一個(gè)網(wǎng)絡(luò)計(jì)算器 2.1TCP協(xié)議,如何保證接收方收到了完整的報(bào)文呢?

    2024年02月06日
    瀏覽(25)
  • JSON序列化與反序列化NULL值丟失問題

    做項(xiàng)目一般都會(huì)有一些特殊的需求,例如保留json中的null值,但是fastjson都會(huì)把null值得屬性給過濾掉 json序列化保留null值 json反序列化保留null值 使用hutool的Json工具時(shí)

    2024年02月15日
    瀏覽(37)
  • 使用nlohmann json庫(kù)進(jìn)行序列化與反序列化

    nlohmann源碼倉(cāng)庫(kù):https://github.com/nlohmann/json 使用方式:將其nlohmann文件夾加入,包含其頭文件json.hpp即可 demo

    2024年02月10日
    瀏覽(21)
  • Java安全基礎(chǔ)之Java序列化與反序列化

    目錄 ObjectInputStream 和 ObjectOutputStream java.io.Serializable 自定義序列化和反序列化 Java 的序列化(Serialization)是指將對(duì)象轉(zhuǎn)換為字節(jié)序列的過程,而反序列化(Deserialization)則是將字節(jié)序列轉(zhuǎn)換回對(duì)象的過程。 序列化和反序列化通常用于在網(wǎng)絡(luò)上傳輸對(duì)象或者將對(duì)象持久化到文

    2024年04月22日
    瀏覽(18)
  • Leetcode 297. 二叉樹的序列化與反序列化

    Leetcode 297. 二叉樹的序列化與反序列化

    297. 二叉樹的序列化與反序列化

    2024年02月07日
    瀏覽(25)
  • 深入探究序列化與反序列化:原理、應(yīng)用和最佳實(shí)踐

    深入探究序列化與反序列化:原理、應(yīng)用和最佳實(shí)踐

    序列化 (Serialization)是指將對(duì)象轉(zhuǎn)化為字節(jié)流的過程,以便于存儲(chǔ)或通過網(wǎng)絡(luò)進(jìn)行傳輸。 反序列化 (Deserialization)則是將字節(jié)流轉(zhuǎn)化為對(duì)象的過程,恢復(fù)原始對(duì)象的狀態(tài)。 在計(jì)算機(jī)科學(xué)中,序列化和反序列化是常用的數(shù)據(jù)處理技術(shù),用于在不同系統(tǒng)、不同編程語言之間傳

    2024年02月08日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包