IO
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO 相关的知识,希望对你有一定的参考价值。
1 序列化和反序列化
1.1 ObjectOutputStream 序列化
1.1.1 概述
- ObjectOutputStream将Java对象的基本数据写入OutputStream,可以使用ObjectInputStream读取对象。
- 通过在流中使用文件可以实现对象的持久存储。
- 如果流是Socket,则可以在另一台主机上火另一个进程中重构对象。
1.1.2 构造方法
- 创建写入指定OutputStream的ObjectOutputStream
public ObjectOutputStream(OutputStream out) throws IOException
1.1.3 方法
- 将指定对象写入ObjectOutputStream
public final void writeObject(Object obj) throws IOException
1.2 ObjectInputStream 反序列化
1.2.1 概述
- ObjectInputStream对以前使用ObjectOutputStream写入的基本数据和对象进行反序列化。
1.2.2 构造方法
- 创建从指定InputStream读取的ObjectInputStream
public ObjectInputStream(InputStream in) throws IOException
1.2.3 方法
- 从ObjectInputStream中读取对象
public final Object readObject() throws IOException, ClassNotFoundException
1.3 示例
- 示例:序列化对象
package java20; import java.io.Serializable; /** * 2017/10/15 * 说明: */ public class Person implements Serializable { 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; } }
package java20; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; /** * 2017/10/15 * 说明: */ public class ObjectOutputStreamDemo { public static void main(String[] args) throws IOException { ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("person.txt")); os.writeObject(new Person("张三",50)); os.close(); } }
- 示例:反序列化
package java20; import java.io.FileInputStream; import java.io.IOException; import java.io.ObjectInputStream; /** * 2017/10/15 * 说明: */ public class ObjectInputStreamDemo { public static void main(String[] args) throws IOException, ClassNotFoundException { ObjectInputStream oi = new ObjectInputStream(new FileInputStream("person.txt")); Person p = (Person) oi.readObject(); System.out.println(p.getName()); System.out.println(p.getAge()); } }
以上是关于IO 的主要内容,如果未能解决你的问题,请参考以下文章
csharp C#代码片段 - 使类成为Singleton模式。 (C#4.0+)https://heiswayi.github.io/2016/simple-singleton-pattern-us