`
liuwei1981
  • 浏览: 770139 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:160700
社区版块
存档分类
最新评论

Java的Serializable处理

阅读更多

   java继承serislizable接口,简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。实现了Java对象的序列化。

   在一下情况可以考虑使用序列化: 
    a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
    b)当你想用套接字在网络上传送对象的时候;
    c)当你想通过RMI传输对象的时候;

 

示例:

  

public class Order implements java.io.Serializable {
	private Long id;
	private String code;
	private String name;
}

 

将order对象写入流中:

 

public InputStream getOrderInfoAsStream(Order order) {
		InputStream ret = null;
		ByteArrayOutputStream baos = null;
		ObjectOutputStream ous = null;

		if (order == null) {
			return ret;
		}
		try {
                                           baos = new ByteArrayOutputStream();
		           ous = new ObjectOutputStream(baos);
	                           ous.writeObject(order);

		           ret = FileUtil.getInputStreamFromBytes(baos.toByteArray());

			
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (baos != null) {
					baos.close();
				}
				if (ous != null) {
					ous.close();
				}
			} catch (Exception e) {
			}
		}
		return ret;
	}

 
将对象从流中读出:

 

  

public Order getOrder(InputStream is) {
		Order ret = null;

		ObjectInputStream ois = null;
		try {
			if (is != null) {
				ois = new ObjectInputStream(is);
				ret = (Order) ois.readObject();
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (ois != null) {
					ois.close();
				}
			} catch (Exception e) {
			}
		}
		return ret;
	}

 

分享到:
评论

相关推荐

    java serializable 序列化与反序列化

    3. **如何实现序列化**:只需让类实现`Serializable`接口,Java的默认序列化机制就会处理剩余部分。例如: ```java public class MyObject implements Serializable { private String name; private int age; ...

    Serializable java序列号

    在Java中,如果一个类需要支持序列化,那么该类需要实现`java.io.Serializable`接口,虽然这个接口没有定义任何方法,但是它的存在作为一个标记,表明该类的对象可以被序列化。 序列化的优点主要有以下几点: 1. **...

    java序列化(Serializable)的作用和反序列化

    序列化和反序列化是Java中非常重要的概念,它们提供了强大的工具来处理对象的状态保存和恢复问题。通过上述介绍和示例代码,我们可以看到序列化的基本过程及其应用场景。掌握这些知识对于开发高效可靠的Java应用程序...

    java事务处理详解

    Java事务处理详解 Java事务处理是指在Java应用程序中对事务的管理和控制。事务是指一系列的操作,Either all succeed or all fail。Java事务处理的目的是为了确保数据的一致性和完整性。 Spring是Java事务处理的...

    轉Serializable至Stream

    在Java编程中,`Serializable`接口是用于对象序列化的重要工具。对象序列化是指将一个对象的状态转换为字节流的过程,以便存储或通过网络进行传输。另一方面,`Stream`通常指的是I/O流,它是Java处理输入/输出数据的...

    Java Serializable和Parcelable详解及实例代码

    `Serializable` 是Java标准库提供的一种简单的序列化方式,位于`java.io`包下。任何实现了`Serializable`接口的类,其对象都可以被序列化。实现这个接口不需要实现任何方法,只需要在类定义上添加`implements ...

    Java 信息处理

    4. **对象序列化与反序列化**:通过实现Serializable接口,Java对象可以被转换为字节流,方便存储或网络传输。ObjectOutputStream和ObjectInputStream分别用于对象的序列化和反序列化。 5. **网络通信**:Java的...

    Java 串行化(序列化)Serializable/Externalizable

    Java 串行化主要通过实现`java.io.Serializable`接口来实现,同时也提供了`java.io.Externalizable`接口来提供更细粒度的控制。 **一、Serializable接口** `Serializable`是Java中的一个标记接口,没有包含任何方法...

    可序列化接口Serializable

    在Java编程语言中,`Serializable`接口是一个非常重要的概念,它是实现对象持久化的关键。本文将深入探讨`Serializable`接口的细节,以及与其相关的高级知识。 `Serializable`接口是Java中的一个标记接口,没有包含...

    java 事物处理的资源

    9. **事务隔离级别**: Java支持四种隔离级别,包括读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。不同的隔离级别影响并发事务间的可见性和冲突...

    Java序列化(Serializable)与反序列化_.docx

    序列化是Java编程中的一个重要概念,特别是在处理远程通信和持久化存储方面。通过理解序列化的原理和实践操作,开发者能够更好地管理和控制对象的状态,从而构建更加灵活和高效的系统。同时,正确使用`...

    Java中的事务处理

    在Java编程领域,事务处理是确保数据一致性与完整性的关键机制。它主要用于数据库操作,确保一组操作要么全部成功,要么全部失败,遵循ACID(原子性、一致性、隔离性和持久性)原则。以下是对Java中事务处理的详细...

    Java序列化(Serializable)与反序列化__1.docx

    Java序列化(Serializable)是Java平台提供的一种持久化机制,允许将对象的状态转换为字节流,以便存储到磁盘、数据库中,或者在网络上传输。这一过程被称为对象的序列化。反之,将字节流恢复为原来的对象状态称为反...

    Android序列化——Serializable与Parcelable

    只需让类实现Serializable接口,系统就会自动处理序列化和反序列化。使用`writeObject()`和`readObject()`方法可以自定义序列化的行为。 优点: - 实现简单,只需要在类上添加`implements Serializable`即可。 - ...

    bundle传递基本数据,Parcelable类型数据,Serializable类型数据

    3. 对于Serializable,`putSerializable()`和`getSerializable()`可以处理任何实现了Serializable接口的对象,包括ArrayList或其他集合类。 4. 不同的数据类型必须使用对应的方法进行传递,不能混淆使用。 5. 传递后...

    oracle 在java中的事务处理和异常回滚。

    在Java编程中,Oracle数据库是常用的后端存储系统,而事务处理和异常回滚是确保数据一致性、完整性和可靠性的关键机制。以下是对这个主题的详细讲解。 首先,Oracle JDBC驱动程序是Java与Oracle数据库之间通信的...

    JAVA实验报告三java输入输出.docx

    实验报告三:Java输入输出 本实验主要涵盖了Java中输入输出的基本操作,旨在让学生深入理解数据流的概念,熟悉Java流的层次结构,并掌握...这些是Java开发中不可或缺的基础技能,对于理解和处理数据交互具有重要意义。

    事务处理java案例代码

    Java中可以通过设置事务隔离级别来控制这一特性,如读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。 4. 持久性(Durability):一旦事务提交,...

    JAVA常用API文档 中文完整版.zip

    在Java API文档中,我们可以找到关于Java语言的基本类、集合框架、网络编程、多线程、I/O流、反射、异常处理、国际化、日期时间、XML处理等多个领域的详细说明。以下是一些关键知识点的概述: 1. **基础类与接口**...

    java序列化(Serializable)的作用和反序列化.pdf

    Java序列化是Java平台提供的一种持久化机制,它允许将对象的状态转换为字节流,以便存储到磁盘、数据库中或通过...不过,需要注意的是,序列化可能带来安全风险,如反序列化攻击,因此在设计和使用序列化时需谨慎处理。

Global site tag (gtag.js) - Google Analytics