被序列化的对象
package JavaIo;
import java.io.Serializable;
/**
*
* @author zhyq
*/
public class Person implements Serializable {
transient private String birth; //该值无法被序列化
private String name;
public String getBirth() {
return birth;
}
public void setBirth(String birth) {
this.birth = birth;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
对象的序列化输出和读取
package JavaIo;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
/**
*
* @author zhyq
*/
public class Main {
public static void main(String[] args) {
FileOutputStream fileOutStream = null; //底层文件输出流
ObjectOutputStream objectOut = null; //高层的对象输出流
Person p = new Person();
p.setName("jone");
p.setBirth("1936");
try {
fileOutStream = new FileOutputStream("object.ser");
objectOut = new ObjectOutputStream(fileOutStream); //用底层的文件输出流对象装饰高层的对象输出流
objectOut.writeObject(p); //序列化对象
objectOut.close();
} catch (Exception e) {
}
Person pToNew = null;
FileInputStream fileInputStream=null; //底层的文件读取流
ObjectInputStream objectIn = null; //高层的对象读取流
try {
fileInputStream = new FileInputStream("object.ser"); //
objectIn = new ObjectInputStream(fileInputStream);//用底层的文件读取流装饰高层的对象读取流
pToNew = (Person)objectIn.readObject();//读取序列化的对象并设置
} catch (Exception e) {
}
System.out.println("birth 被设置成transient 值为 "+pToNew.getBirth());
System.out.println("name 没有进行特殊的设置,值为 "+pToNew.getName());
}
}
分享到:
相关推荐
### Java对象序列化标准知识点详解 #### 一、系统架构概览 **1.1 概览** Java 对象序列化是一种将Java对象的状态转换成字节流的过程,以便于在网络上传输或存储到磁盘上。Java序列化标准定义了一套规则来描述如何...
综上,Java对象序列化和反序列化是Java开发中的基础技能,它们在数据持久化、网络通信等方面发挥着关键作用。了解并掌握这些知识,能够帮助开发者更好地设计和实现各种功能。在实际应用中,需要注意安全性和版本兼容...
【JAVA对象序列化保存为XML文件的工具类】 在Java编程中,对象序列化是一种将对象的状态转换为字节流的过程,以便可以存储或在网络上传输。而在反序列化时,这个字节流又可以恢复为原来的对象。Java提供了一个方便...
前者代表对象输出流,具备`writeObject(Object obj)`方法,可以将对象序列化并写入到目标输出流;后者代表对象输入流,其`readObject()`方法能从输入流中读取字节流并反序列化为对象。 为了使一个Java对象能够被...
总的来说,Java对象序列化是Java编程中的重要概念,它使得对象能够跨越不同的存储介质和网络环境,增强了程序的可移植性和可扩展性。理解和掌握序列化技术,对于开发分布式系统、持久化存储以及网络通信的应用程序至...
- JSON序列化库如Gson、Jackson、Fastjson等,可以将Java对象转换为JSON字符串,实现数据的存储和传输。 总之,Java序列化是Java开发中一个重要的概念,它在对象的存储、网络通信和分布式系统中发挥着关键作用。...
本篇将深入探讨如何通过Socket传递Java对象,重点讲解对象序列化的过程。 首先,让我们理解什么是Socket。Socket在计算机网络中是一种进程间通信机制,它允许两个网络应用程序之间建立连接并交换数据。在Java中,`...
- 使用 `java.io.ObjectOutputStream` 类的 `writeObject()` 方法将对象写入到输出流,从而实现序列化。 - 使用 `java.io.ObjectInputStream` 类的 `readObject()` 方法从输入流读取对象,实现反序列化。 4. **...
下面将详细介绍Java对象的序列化和反序列化过程。 1. **序列化(Serialization)**: - **概念**:序列化是将Java对象转换为字节序列的过程,这个字节序列可以保存在磁盘上,也可以在网络上传输。 - **作用**:...
下面是一个简单的序列化示例代码,展示了如何将一个`Box`对象序列化并存储到文件中,然后再从文件中读取出来: ```java package com.hotye.dchaoxiong.serializabletest; import java.io.FileInputStream; import ...
1. **对象序列化**: - 创建可序列化的类:首先,你需要定义一个类,并且在类声明中加入`implements Serializable`,例如: ```java public class MySerializableClass implements Serializable { // 类的属性 ...
首先,要使一个Java对象能够被序列化,该类必须实现`Serializable`接口。这个接口没有任何方法,仅仅是一个标记接口,表明该类的对象可以被序列化。当一个类实现了这个接口,Java运行时系统就能够将其实例转换为字节...
对象序列化就是把对象写入到输出流中,用来存储或者传输。 对象的反序列化就是从输入流中读取对象。 要序列化的对象应该实现Serializable接口。 Serializable接口是一个标识接口,没有抽象方法。 ...
序列化机制使得Java对象能够在不同的平台之间进行传输,并且能够保持其原始状态。 **特点:** - **跨平台兼容性:** 序列化后的对象可以在不同的操作系统之间传输,无需担心数据格式或内存布局的不同。 - **对象...
Java 对象序列化可以帮助我们实现将对象保存到内存或者磁盘中,以便在将来重新读取被保存的对象。 3. 序列化对象以字节数组保持-静态成员不保存 使用 Java 对象序列化,在保存对象时,会把其状态保存为一组字节,...
总的来说,Java对象序列化是一种强大的工具,允许你在不同场景下保存和恢复对象的状态,如在文件系统、数据库或网络之间传递对象。虽然大部分时候无需编写自定义代码,但在某些复杂情况,可能需要定制序列化和反序列...
接下来,我们编写代码将对象序列化并输出为字节流,存储在一个临时文件`temp.out`中。 ```java public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("temp...
// 将对象序列化到文件 serializeObject(person, "person.ser"); // 从文件中反序列化对象 Person deserializedPerson = deserializeObject("person.ser"); // 打印反序列化后的对象 System.out.println(...