您的位置: 首页 - 站长

flash网站制作软件网站建设定制开发价格

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

flash网站制作软件,网站建设定制开发价格,网站里的专题页面,app大全软件JAVA序列化和反序列化 文章目录 JAVA序列化和反序列化序列化什么是序列化#xff1f;为什么要进行序列化?如何将对线进行序列化具体实现过程 完整代码 序列化 什么是序列化#xff1f; 就是将对象转化为字节的过程 为什么要进行序列化? 让数据更高效的传输让数据更好的…JAVA序列化和反序列化 文章目录 JAVA序列化和反序列化序列化什么是序列化为什么要进行序列化?如何将对线进行序列化具体实现过程 完整代码 序列化 什么是序列化 就是将对象转化为字节的过程 为什么要进行序列化? 让数据更高效的传输让数据更好的被存储 如何将对线进行序列化 对象要想进行序列化必须满足两个条件 该类必须实现 java.io.Serializable 接口该类的所有属性必须是可序列化的 具体实现过程 通过implements实现序列化接口: import java.io.Serializable;public class student implements Serializable {public String name;public int course;public int age;public void behavior(){System.out.println(I am student);} }这样就允许该对象类被序列化重写序列化函数 // 导入java.io.包这个包包含了Java IO的所有类和接口提供了全面的输入/输出接口支持。
import java.io.
;// 定义一个名为Serialization_And_Unserialization的公共类。这个类将演示如何实现对象的序列化和反序列化。
public class Serialization_And_Unserialization {// 定义一个公共方法Serialize它接受一个Object类型的对象和一个File类型的文件名作为参数。这个方法将对象序列化并写入到指定的文件中。 public void Serialize(Object obj,File filename) throws IOException {// 创建一个FileOutputStream对象它将创建一个新的文件输出流允许将字节写入到指定的文件中。 FileOutputStream FO new FileOutputStream(filename); //新建一个文件输出流 将字节写入文件的输出流 // 创建一个ObjectOutputStream对象它将创建一个新的对象输出流用于将对象序列化并写入到之前创建的文件输出流中。 ObjectOutputStream OOS new ObjectOutputStream(FO);// 使用ObjectOutputStream的writeObject方法将对象序列化并写入到文件输出流中。 OOS.writeObject(obj);} }使用我们上篇java基础文字写好的对象来进行测试 import java.io.File; // 导入文件类用于创建文件对象
import java.io.IOException; // 导入IOException类处理IO操作可能出现的异常 public class Xl { // 定义一个名为Xl的公共类 public static void main(String[] args) throws IOException, ClassNotFoundException { // 主方法程序入口 student stu2 new student(); // 创建一个名为stu2的学生对象 Serialization_And_Unserialization s new Serialization_And_Unserialization(); // 创建一个Serialization_And_Unserialization对象用于进行对象的序列化和反序列化操作 s.Serialize(stu2, new File(stu2.txt)); // 使用Serialize方法将stu2对象序列化并保存到名为stu2.txt的文件中 } }我们可以看到文件已经生成了 接下来再写一个方法将它进行反序列化 public Object Unserialize(String filename) throws IOException, ClassNotFoundException {// 创建一个FileInputStream对象它将创建一个新的文件输入流允许从指定的文件中读取字节。FileInputStream FI new FileInputStream(filename);// 创建一个ObjectInputStream对象它将创建一个新的对象输入流用于从之前创建的文件输入流中读取并反序列化对象。ObjectInputStream OIS new ObjectInputStream(FI);// 使用ObjectInputStream的readObject方法从文件输入流中读取并反序列化对象然后返回这个对象。return OIS.readObject();}我们进行调用 Object stu3s.Unserialize(stu2.txt); // 使用Unserialize方法从名为stu2.txt的文件中读取并反序列化对象然后将其赋给stu3变量System.out.println(stu3); // 打印stu3对象看到已经准换回来了 完整代码 重写方法代码 // 导入java.io.包这个包包含了Java IO的所有类和接口提供了全面的输入/输出接口支持。
import java.io.
;// 定义一个名为Serialization_And_Unserialization的公共类。这个类将演示如何实现对象的序列化和反序列化。
public class Serialization_And_Unserialization {// 定义一个公共方法Serialize它接受一个Object类型的对象和一个File类型的文件名作为参数。这个方法将对象序列化并写入到指定的文件中。 public void Serialize(Object obj,File filename) throws IOException {// 创建一个FileOutputStream对象它将创建一个新的文件输出流允许将字节写入到指定的文件中。 FileOutputStream FO new FileOutputStream(filename); // 创建一个ObjectOutputStream对象它将创建一个新的对象输出流用于将对象序列化并写入到之前创建的文件输出流中。 ObjectOutputStream OOS new ObjectOutputStream(FO);// 使用ObjectOutputStream的writeObject方法将对象序列化并写入到文件输出流中。 OOS.writeObject(obj);}// 定义一个公共方法Unserialize它接受一个String类型的文件名作为参数。这个方法将从指定的文件中读取对象并将其反序列化。public Object Unserialize(String filename) throws IOException, ClassNotFoundException {// 创建一个FileInputStream对象它将创建一个新的文件输入流允许从指定的文件中读取字节。FileInputStream FI new FileInputStream(filename);// 创建一个ObjectInputStream对象它将创建一个新的对象输入流用于从之前创建的文件输入流中读取并反序列化对象。ObjectInputStream OIS new ObjectInputStream(FI);// 使用ObjectInputStream的readObject方法从文件输入流中读取并反序列化对象然后返回这个对象。return OIS.readObject();} }调用代码 import java.io.File; // 导入文件类用于创建文件对象 import java.io.IOException; // 导入IOException类处理IO操作可能出现的异常public class Xl { // 定义一个名为Xl的公共类public static void main(String[] args) throws IOException, ClassNotFoundException { // 主方法程序入口student stu2 new student(); // 创建一个名为stu2的学生对象Serialization_And_Unserialization s new Serialization_And_Unserialization(); // 创建一个Serialization_And_Unserialization对象用于进行对象的序列化和反序列化操作s.Serialize(stu2, new File(stu2.txt)); // 使用Serialize方法将stu2对象序列化并保存到名为stu2.txt的文件中Object stu3s.Unserialize(stu2.txt); // 使用Unserialize方法从名为stu2.txt的文件中读取并反序列化对象然后将其赋给stu3变量System.out.println(stu3); // 打印stu3对象} }