您现在的位置是:主页 > news > 无锡网站排名优化公司/seo整站优化新站快速排名

无锡网站排名优化公司/seo整站优化新站快速排名

admin2025/5/18 22:45:52news

简介无锡网站排名优化公司,seo整站优化新站快速排名,装修平台哪家好,最常用免费h5制作平台对象流的作用 用于存储和读取基本数据类型或对象,他的强大之处在于可以将内存层面的数据与磁盘或网络相互传输 对象流的序列化和反序列化 序列化:将内存层面存储的数据传输到磁盘层面或者通过网络传输出去,使用ObjectOutputStream反序列化…

无锡网站排名优化公司,seo整站优化新站快速排名,装修平台哪家好,最常用免费h5制作平台对象流的作用 用于存储和读取基本数据类型或对象,他的强大之处在于可以将内存层面的数据与磁盘或网络相互传输 对象流的序列化和反序列化 序列化:将内存层面存储的数据传输到磁盘层面或者通过网络传输出去,使用ObjectOutputStream反序列化…

对象流的作用

用于存储和读取基本数据类型或对象,他的强大之处在于可以将内存层面的数据与磁盘或网络相互传输

对象流的序列化和反序列化

  • 序列化:将内存层面存储的数据传输到磁盘层面或者通过网络传输出去,使用ObjectOutputStream
  • 反序列化:将磁盘层面或者网络传输过来的数据转化成内存层面存储的数据,使用ObjectInputStream
  • 注意点:在读取数据的时候,要按照输入的顺序读取

自定义类如何实现可序列化

  1. 实现serializable接口
  2. 定义一个long类型的全局常量serialVersionUID,值可以随便填,目的是为了传输传入保证一致性
  3. 必须保证类中所有的属性是可序列化的
  4. 补充:ObjectOutputStream和ObjectInputStream不能传输static和transient修饰的属性
public class ObjectStream {/*序列化:将内存层面存储的数据传输到磁盘层面或者通过网络传输出去使用ObjectOutputStream*/@Testpublic void test1(){ObjectOutputStream oos = null;try {oos = new ObjectOutputStream(new FileOutputStream("object.dat"));oos.writeObject(new String("何其荣幸,生于华夏"));oos.flush();//刷新操作,执行此操作,将上述的对象写入文件中oos.writeObject(new Person("张三",21));oos.flush();} catch (IOException e) {e.printStackTrace();} finally {if(oos != null){try {oos.close();} catch (IOException e) {e.printStackTrace();}}}}/*反序列化:将磁盘层面或者网络传输过来的数据转化成内存层面存储的数据使用ObjectInputStream*/@Testpublic void test2(){ObjectInputStream ois = null;try {ois = new ObjectInputStream(new FileInputStream("object.dat"));Object o = ois.readObject();String s = (String) o;System.out.println(s);Person person = (Person) ois.readObject();System.out.println(person);} catch (IOException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();} finally {if(ois != null){try {ois.close();} catch (IOException e) {e.printStackTrace();}}}}
}

自定义类实现可序列化

//1.实现serializable接口
public class Person implements Serializable {//2.定义一个long类型的全局常量serialVersionUIDprivate static final long serialVersionUID = 21389728936125L;private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';}
}