`
wu565626236
  • 浏览: 5346 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

对象序列化及反序列化方法

阅读更多
/*
 *2013/3/13 星期三 8:13:33
 *对象序列化及反序列化方法
 */

import java.io.*;

public class TestObjectOutputStream {
	public static void main(String[] args) throws Exception {
		//实例化Student对象
		Student stu = new Student("小李",21,"男","zheshimima");
		//实例化ObjectOutputStream流对象
		ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("F:/Test/Test.txt"));
		//调用writeObject()方法将stu对象序列化
		oos.writeObject(stu);
		//关闭流对象
		oos.close();
		System.out.println("操作完毕");
		
		//实例化ObjectInputStream对象
		ObjectInputStream ois = new ObjectInputStream(new FileInputStream("F:/Test/Test.txt"));
		//将反序列化输出强制转换为Student类型
		Student newstu = (Student)ois.readObject();
		//输出对象name
		System.out.println(newstu.getName());
		//输出结果为null,因为使用了transient进行了修饰,使敏感信息不被写入到数据流中
		System.out.println(newstu.getPassword());
		//关闭流
		ois.close();
	}	
}
/*
 *定义一个Student类,实现Serializable接口,以便被序列化
 */
class Student implements Serializable{
	private String name;
	private String sex;
	private int age;
	private transient String password;
	
	public Student(String name,int age,String sex,String password){
		this.name = name;
		this.age = age;
		this.sex = sex;	
		this.password = password;
	}
	
	public String getName() {
		return name;	
	}
	
	public String getPassword() {
		return password;	
	}
}
分享到:
评论

相关推荐

    java 对象的序列化与反序列化

    - `ObjectInputStream`:用于对象的反序列化,其`readObject()`方法可以从流中读取对象。 4. **非序列化字段**:有些字段可能不希望被序列化,可以使用`transient`关键字标记。这些字段在序列化过程中会被忽略。 ...

    Java对象序列化和反序列化工具Xson.zip

    Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven:  <groupId>com.github.xsonorg</groupId>  <artifactId>xson-core  <version>1.0.1 ...

    java对象序列化和反序列化

    Java对象序列化与反序列化是Java编程中重要的概念,主要应用于数据持久化、网络传输以及存储等场景。本文将详细解析这两个概念及其在实际应用中的实现方式。 **一、Java对象序列化** 1. **定义**: Java对象序列化...

    C#对象序列化与反序列化

    ### C#对象序列化与反序列化 #### 1. 对象序列化的介绍 ##### (1).NET支持对象序列化的几种方式 .NET框架提供了多种序列化机制,它们各自有不同的应用场景和特点。 - **二进制序列化**: - **定义**:二进制...

    C++ JSON 序列化与反序列化

    需要注意的是,反序列化时需要确保JSON结构与C++对象结构匹配,否则可能会抛出异常。 **三、序列化与反序列化的细节** 1. 复杂类型的处理:除了基本类型外,还可以序列化和反序列化自定义类、结构体以及容器(如...

    java序列化和反序列化的方法

    java 序列化和反序列化的方法 Java 序列化和反序列化是 Java 语言中的一种机制,用于将对象转换为字节流,以便在网络上传输或存储。序列化是将对象转换为字节流的过程,而反序列化是将字节流转换回对象的过程。 在...

    C#对象序列化反序列化保存与读取和对象直接保存与读取

    本主题将深入探讨如何在Windows Forms(WF)环境中,利用C#语言进行对象的直接保存与读取,以及通过对象序列化和反序列化的方式实现对象的保存与恢复。 首先,我们来理解什么是对象的直接保存与读取。在C#中,可以...

    C#序列化与反序列化(包括复杂xml对象)

    方法三:取节点KV值并处理对象数组及节点标签组合反序列化 在处理更复杂的XML结构时,可能会遇到对象数组和嵌套的节点标签。例如,一个XML节点可能包含多个相同类型的子节点,这些子节点可以被反序列化为一个对象...

    JAVA对象的序列化与反序列化详细PPT课件.pptx

    前者代表对象输出流,具备`writeObject(Object obj)`方法,可以将对象序列化并写入到目标输出流;后者代表对象输入流,其`readObject()`方法能从输入流中读取字节流并反序列化为对象。 为了使一个Java对象能够被...

    c#对象序列化与反序列化实例

    在C#编程中,对象序列化和反序列化是至关重要的技术,它们允许开发者将复杂的对象状态转换为可存储或可传输的数据格式,如XML、JSON或二进制流。对象序列化通常用于持久化数据、跨进程通信、网络传输等场景。下面...

    对象序列化和反序列化流.xmind

    对象序列化和反序列化流

    序列化和反序列化的封装类

    而`Deserialize`方法接受字节数组和目标类型,返回反序列化后的对象。这样的封装使得在实际项目中使用序列化和反序列化变得更加便捷和直观。 在提供的文件`FrmOption.cs`中,可能包含了某个窗体(Form)的选项配置...

    ASPNET中JSON的序列化和反序列化的方法

    下面将详细介绍***中JSON序列化和反序列化的几种方法以及如何处理日期时间类型的序列化和反序列化。 首先,了解JSON的基本格式是非常重要的。JSON的数据结构由对象(Object)、数组(Array)、字符串(String)、数字...

    XML序列化与反序列化 实战

    这个类可能包含了一些方法,如`Serialize`(将对象序列化为XML字符串或写入XML文件)和`Deserialize`(从XML字符串或文件反序列化回对象)。 接下来,`说明.txt`文件应该提供了关于如何使用这个项目的详细指南。它...

    hessian学习基础篇——序列化和反序列化

    在IT领域,序列化和反序列化是两个关键的概念,特别是在网络通信、数据持久化以及对象存储中。本文将深入探讨Hessian框架的基础知识,它是一个高效的二进制序列化协议,广泛应用于Java和.NET之间跨语言通信。通过...

    用Javascript将form所有内容序列化和反序列化的例子。

    在JavaScript中,没有内置的方法直接对表单数据进行序列化和反序列化,但我们可以使用以下方法实现: 1. **序列化表单数据** 一个简单的序列化函数可以遍历表单的所有元素,收集它们的`name`属性和`value`属性,...

    c#对象序列化和反序列化,压缩流

    在C#编程中,对象序列化和反序列化是至关重要的技术,它们允许我们将对象的状态转化为可存储或可传输的数据格式,例如XML、JSON或二进制,以便于保存、恢复或者在网络间传递。而“压缩流”则涉及到数据的压缩和解...

    Java对象的序列化和反序列化实践

    在Java编程语言中,对象的序列化和反序列化是两个关键的概念,它们对于数据存储、网络传输以及持久化有着重要的作用。这篇文章将深入探讨这两个主题,并通过实践例子来阐述其工作原理。 **序列化(Serialization)*...

    序列化和反序列化dll文件和proto

    这通常通过proto编译器完成,该编译器会生成针对特定语言的源代码,提供序列化和反序列化的方法。反序列化则是将接收到的二进制数据解析回原始消息对象,从而可以方便地在应用程序中使用。 在实际应用中,DLL文件的...

    学生管理系统(序列化和反序列化)

    2. **反序列化**:与序列化相反,反序列化是从字节流中恢复对象的过程。在Java中,我们可以使用`ObjectInputStream`类的`readObject()`方法来完成这个操作。在学生管理系统中,当程序启动时,它会读取之前保存的字节...

Global site tag (gtag.js) - Google Analytics