`
哈达f
  • 浏览: 120405 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

ObjectStream

    博客分类:
  • j2se
 
阅读更多
import java.io.*;


/*
将对象从对内存中保存到本地硬盘上。
实现对象的本地持久化保存。
但被保存的对象必须实现一个Serializable接口。
拥有一个UID。

transient:关键字用于不需要本地持久化保存的成员属性。
*/
class  ObjectOutputStreamDemo
{
	public static void main(String[] args) throws IOException
	{
		
		ObjectOutputStream oos = 
			new ObjectOutputStream(new FileOutputStream("obj.txt"));

		
		oos.writeObject(new Person("zhangsan",30,199));

		oos.close();
		/**/
	}
}

class Person implements Serializable
{
	public static final long serialVersionUID = 42L;

	private transient String name;
	private int age;
	private  int num ;
	Person(String name,int age,int num)
	{
		this.name = name;
		this.age = age;
		this.num = num;
	}
	public String toString()
	{
		return name+"::"+age+":"+num;
	}
}

 

import java.io.*;
class  ObjectInputStreamDemo
{
	public static void main(String[] args) throws Exception
	{
		ObjectInputStream ois = 
			new ObjectInputStream(new FileInputStream("obj.txt"));

		Person p = (Person)ois.readObject();

		System.out.println(p.toString());

		ois.close();
	}
}

 

分享到:
评论

相关推荐

    java开发eclipse中文版(共四个分卷).part2

    java开发eclipse中文版(共四个分卷).part2

    java源码仿QQ的一个程序

    【压缩包子文件的文件名称列表】:QqService、数据库、chatWindow、ObjectStream - **QqService**:这个名字可能代表了服务层的代码,负责处理业务逻辑,如用户认证、消息发送和接收等。这部分可能包括了网络通信的...

    Java编程规范试题.docx

    14. **使用ObjectStream 的方法后,调用release(),释放对象** 错误。`ObjectStream` 类没有 `release()` 方法。在处理流时,通常使用 `close()` 方法来释放资源。 15. **减小单个方法的复杂度,使用的 if, ...

    Java_英文面试题_经典

    如果在一个实现了Serializable接口的类中声明了一个变量为transient,当该类被写入ObjectStream时,这个变量的值不会被写入流中。当从ObjectStream中恢复这个类时,该变量的值会变成null。 2. **哪些容器使用...

    Java编程规范试题.pdf

    14. 对象释放:使用ObjectStream 的方法后,不需要调用release() 释放对象。 15. 代码复杂度:减小单个方法的复杂度,使用的 if, while, for, switch 语句要在10个以内。 16. 代码缩进:排版时,代码缩进应该采用的...

    Java英语面试题

    相反,当对象从`ObjectStream`中读取回来时,`transient`变量的值会默认设置为`null`(对于引用类型)或其默认值(如0、false等,对于基本数据类型)。这主要用于那些包含敏感信息或者大体积数据的变量,例如数据库...

    远程调用的几种方式.pdf

    在RMI中,客户端通过Stub对象将请求序列化为Java ObjectStream,然后通过Socket发送到服务器端。服务器端的Skeleton接收流并反序列化,调用实际的服务处理类,处理结果再经过同样的过程返回给客户端。 XML-RPC则是...

    CVE-2019-17564 Apache Dubbo Http 反序列化漏洞深入分析 .pdf

    漏洞的触发条件是Dubbo HTTP实例尝试对Java ObjectStream中的数据进行反序列化,而这些数据可能包含了恶意的类,即所谓的“小工具链”。这些工具链能够触发恶意代码执行,允许攻击者执行任意操作系统命令,对系统...

    Java-英文面试题-经典.docx

    这意味着当一个包含`transient`变量的类被写入到对象流(ObjectStream)时,这个变量的值不会被写入。当从对象流中恢复类时,该变量的值会变为`null`。这通常用于那些不希望在序列化过程中保留状态的变量。 2. **...

    Java编程要求规范精彩试题.pdf

    14. **资源释放**:使用`ObjectStream`后,应当关闭流,而不是调用`release()`。 15. **控制结构复杂度**:尽量保持单个方法的控制结构(if, while, for, switch)在10个以内,以降低方法的复杂度。 在排版和代码...

    Java编程规范试题.doc

    14. **资源释放** - 使用`ObjectStream`后,应当使用`close()`方法释放资源,而非`release()`。 15. **方法复杂度** - 减少单个方法的复杂度,避免使用过多的控制结构如`if`、`while`、`for`、`switch`,以提高可...

    Java编程要求规范精彩试题.docx

    14. **释放对象**:使用完`ObjectStream`后,应正确关闭,而不是调用`release()`。 15. **方法复杂度**:尽量保持单个方法的复杂度较低,避免过多的控制结构,如`if`, `while`, `for`, `switch`。 在排版方面: -...

    中国象棋-网络对战版

    这涉及到了字节流(ByteStream)、对象流(ObjectStream)等不同类型的流,确保数据在网络间准确无误地传输。 再者,多线程技术在本游戏中主要用于提升程序的并发性能和用户体验。在游戏运行时,至少需要两条主线程...

    java代码检查表(很好的公司在用).pdf

    - 使用`reset()`方法防止`ObjectStream`的内存泄漏。 - 边界值检查在条件和循环中很重要。 - 确保`break`、`return`、`throw`的适当使用。 - 对于可能导致运行时异常的方法,应先进行判断或捕获异常。 - 避免...

    Java编程要求规范精彩试题.doc

    14. **释放对象**:使用`ObjectStream`后,不需要调用`release()`,而是让垃圾收集器自动回收。 15. **代码复杂度**:尽量保持单个方法的复杂度低,`if/while/for/switch`语句不超过10个。 **单项选择题解析**: ...

    Java_英文面试题

    如果一个变量在一个实现了`Serializable`接口的类中被声明为`transient`,那么当这个类被写入到对象流(ObjectStream)时,该变量的值不会被写入。当从对象流中恢复这个类时,该变量的值会变为`null`。 2. **使用...

    Java远程通讯可选技术及原理.docx

    RMI使用Java ObjectStream作为传输标准格式,通过Java序列化机制处理流的转换。 **XML-RPC** XML-RPC与RMI类似,但使用XML作为数据交换格式,因此支持跨语言通信。在XML-RPC中,请求信息被封装成XML文档,然后转化...

Global site tag (gtag.js) - Google Analytics