当前位置: 首页 > news >正文

公司搭建一个网站需要多少钱江苏智能网站建设流程

公司搭建一个网站需要多少钱,江苏智能网站建设流程,沈阳网站建设024idc,应用商店搜索优化【C#/Java】【小白必看】不要只会读写文本文件了#xff01;对象序列化助你提高效率 ​ 在编程的世界里#xff0c;文件的读写操作是我们经常面对的任务之一。 ​ 当我们只涉及简单的文本文件时#xff0c;这个任务似乎并不复杂。但是#xff0c;当我们处理更为复杂的类对…【C#/Java】【小白必看】不要只会读写文本文件了对象序列化助你提高效率 ​ 在编程的世界里文件的读写操作是我们经常面对的任务之一。 ​ 当我们只涉及简单的文本文件时这个任务似乎并不复杂。但是当我们处理更为复杂的类对象时逐个字段进行读取和写入会显得非常繁琐。更为严峻的是当类的字段发生变化时我们需要同时修改读取和写入模块而且还要考虑与原有版本文件的兼容性。 1. 为什么需要对象序列化 ​ 在面对复杂的类结构时逐个字段进行读取和写入是非常不便利的。这种方式容易导致代码的冗长和维护的困难。而对象序列化则能够将整个对象保存到文件中不仅减少了代码量还提高了代码的可维护性。此外对象序列化还能够解决不同版本之间的兼容性问题使得在类结构发生变化时我们仍然能够正确地读取旧版本的文件。 例子个人信息的存取 ​ 设想一下当我们开发一个系统时需要对个人信息进行保存。刚开始只有用户名、密码、邮箱可随着系统越来越完善所含有的变量也越来越多这时候如果还是按照原有的思路一个变量一个变量进行读写很有可能产生遗漏且代码庞杂不美观。 ​ 我们以一个包含多个字段的PersonalInfo类为例展示逐个字段读写和对象序列化之间的对比。 以C#为例 首先我们看一下逐个字段读写的示例 using System; using System.Diagnostics; using System.IO;class Program {class PersonalInfo{public string UserName { get; set; }public string Email { get; set; }public string Password { get; set; }public int Level { get; set; }public string Avatar { get; set; }public string Signature { get; set; }// ... 可能还有其他字段 ...}static void Main(){PersonalInfo person new PersonalInfo{UserName JohnDoe,Email johnexample.com,Password securepassword,Level 3,Avatar avatar.jpg,Signature Hello, world!// ... 其他字段的初始化 ...};Stopwatch stopwatch new Stopwatch();// 逐个字段写入using (StreamWriter writer new StreamWriter(person.txt)){stopwatch.Start();writer.WriteLine(person.UserName);writer.WriteLine(person.Email);writer.WriteLine(person.Password);writer.WriteLine(person.Level);writer.WriteLine(person.Avatar);writer.WriteLine(person.Signature);// ... 其他字段的写入 ...stopwatch.Stop();}Console.WriteLine($逐个字段写入耗时{stopwatch.ElapsedMilliseconds} 毫秒);// 重新初始化 PersonalInfo 对象person new PersonalInfo();// 逐个字段读取using (StreamReader reader new StreamReader(person.txt)){stopwatch.Restart();person.UserName reader.ReadLine();person.Email reader.ReadLine();person.Password reader.ReadLine();person.Level int.Parse(reader.ReadLine());person.Avatar reader.ReadLine();person.Signature reader.ReadLine();// ... 其他字段的读取 ...stopwatch.Stop();}Console.WriteLine($逐个字段读取耗时{stopwatch.ElapsedMilliseconds} 毫秒);} }接下来我们看一下对象序列化的示例 using System; using System.Diagnostics; using System.IO; using Newtonsoft.Json;class Program {class PersonalInfo{public string UserName { get; set; }public string Email { get; set; }public string Password { get; set; }public int Level { get; set; }public string Avatar { get; set; }public string Signature { get; set; }// ... 可能还有其他字段 ...}static void Main(){PersonalInfo person new PersonalInfo{UserName JohnDoe,Email johnexample.com,Password securepassword,Level 3,Avatar avatar.jpg,Signature Hello, world!// ... 其他字段的初始化 ...};Stopwatch stopwatch new Stopwatch();// 对象序列化stopwatch.Start();string json JsonConvert.SerializeObject(person);File.WriteAllText(person.json, json);stopwatch.Stop();Console.WriteLine($对象序列化耗时{stopwatch.ElapsedMilliseconds} 毫秒);// 重新初始化 PersonalInfo 对象person new PersonalInfo();// 对象反序列化stopwatch.Restart();string jsonString File.ReadAllText(person.json);PersonalInfo deserializedPerson JsonConvert.DeserializeObjectPersonalInfo(jsonString);stopwatch.Stop();Console.WriteLine($对象反序列化耗时{stopwatch.ElapsedMilliseconds} 毫秒);} }​ 通过上述例子我们可以清晰地看到使用对象序列化的代码更加简洁、清晰并且不需要关心逐个字段的读写细节。 ​ 特别是在处理大型复杂对象时对象序列化的优势更为明显。这种方式可以提高代码的可读性减少冗余操作并确保在类结构发生变化时仍能正确处理文件的读写操作。 2. C#中的对象序列化 ​ 在C#中我们常用的对象序列化工具是Newtonsoft.Json。该工具提供了强大而灵活的功能使得对象序列化变得异常简单。下面通过一个例子来说明 // 定义一个示例类 public class PersonalInfo {public string UserName { get; set; }public string Email { get; set; }public string Password { get; set; }public int Level { get; set; }public string Avatar { get; set; }public string Signature { get; set; }// ... 其他字段 ... }// 对象序列化示例 PersonalInfo person new PersonalInfo {UserName JohnDoe,Email johnexample.com,Password securepassword,Level 3,Avatar avatar.jpg,Signature Hello, world!// ... 其他字段的初始化 ... };string json JsonConvert.SerializeObject(person); File.WriteAllText(person.json, json);// 对象反序列化示例 string jsonString File.ReadAllText(person.json); PersonalInfo deserializedPerson JsonConvert.DeserializeObjectPersonalInfo(jsonString);3. Java中的对象序列化 ​ 在Java中我们使用Object流来实现对象的序列化。下面是一个简单的Java示例 import java.io.*;// 定义一个示例类 class PersonalInfo implements Serializable {String userName;String email;String password;int level;String avatar;String signature;// ... 其他字段 ...// 构造函数public PersonalInfo(String userName, String email, String password, int level, String avatar, String signature) {this.userName userName;this.email email;this.password password;this.level level;this.avatar avatar;this.signature signature;// ... 其他字段的初始化 ...} }// 对象序列化示例 PersonalInfo person new PersonalInfo(JohnDoe, johnexample.com, securepassword, 3, avatar.jpg, Hello, world!);try (ObjectOutputStream oos new ObjectOutputStream(new FileOutputStream(person.ser))) {oos.writeObject(person); }// 对象反序列化示例 try (ObjectInputStream ois new ObjectInputStream(new FileInputStream(person.ser))) {PersonalInfo deserializedPerson (PersonalInfo) ois.readObject(); }4.结语 ​ 通过以上示例我们清晰地展示了对象序列化的威力。在处理类结构较为庞大的情况下对象序列化能够使代码更加简洁、可读性更强同时保证了不同版本之间的兼容性。不妨尝试使用对象序列化提高你的代码效率让读写操作变得更加轻松
http://www.hkea.cn/news/14523021/

相关文章:

  • 在线教育网站建设方案渭南经开区
  • 网站做一个多少钱建设网站公司前景
  • 有没有专门做中式的设计网站网络运维实习报告
  • 企业网站建设报价方案wordpress 新网页打开
  • 建设银行预约纪念钞网站wordpress搬家 打开404
  • 网站新闻 写法wordpress教程 下载
  • 建设行网站修改电话网站怎么做安全
  • 网站可以做网站广告怎么给钓鱼网站做防红
  • 重庆城乡规划和建设局网站360安全浏览器官网入口
  • 中国空间站有几个舱段建站公司生存难
  • 哪些公司可以建设网站上海技术公司做网站
  • 网站建设 0551如何制作应用软件
  • 网站开发分为小程序平台推广
  • 三网合一网站报价手机网页游戏大全
  • 快速网站推广公司分享网络营销方式
  • 男女做暖暖的视频试看网站经济新闻最新消息财经
  • 三亚网络网站建设wordpress修改之前发布文章的id
  • 网站开发过程前端后端上海app开发定制公司
  • 苏州网站建设制作服务商如何快速做网站
  • 上海松江区建设局官方网站百度推广开户公司
  • 怎样建设小游戏网站企业网站模板中文
  • 申请网站域名要多少钱wordpress微信对接
  • 网站注册页面怎么做数据验证网页设计网站模板
  • 南京网页制作培训廊坊百度快照优化
  • 网站个人备案流程合肥做网站好的公司哪家好
  • 杭州做网站外包公司哪家好wap自助建站排板
  • 做资讯类网站北京网站制作到诺然
  • 建设网站 无法显示图片企业需求发布平台
  • 群晖wordpress怎么用成都网络推广优化
  • tk域名免费注册网站最简单网站开发软件有哪些