`
zds420
  • 浏览: 205976 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

ObjectInputStream和ObjectOuputStream对象输入输出流

    博客分类:
  • J2SE
阅读更多
package com.study;

import java.io.*;
/**
 * 对象输入输出流,用于对对象的输入以及输出的操作。对一个对象进行操作
 * 
 * @author Administrator
 *
 */
public class ObjectStream {
	
	public static void main(String[] args) {
		try {
			Desks d= new Desks();
			d.width="宽度";
			d.height="高度";
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("F:\\project\\study\\WebRoot\\object_stream.txt"));
			oos.writeObject(d);
			
			ObjectInputStream ois = new ObjectInputStream(new FileInputStream("F:\\project\\study\\WebRoot\\object_stream.txt"));
		 
			System.out.println(ois.readObject());
			ois.close();
			oos.flush();
			oos.close();
			
			
			Computer[] computer ={new Computer("100","200","三星","XP"),
									new Computer("200","1100","三星1","XP"),
									new Computer("300","1200","三星2","XP"),
									new Computer("400","2200","三星3","XP"),
									new Computer("500","3200","三星4","XP"),
									new Computer("600","4200","三星5","XP"),
									new Computer("700","5200","三星6","XP")
									};
			
			ObjectOutputStream comp_oos = new ObjectOutputStream(new FileOutputStream("F:\\project\\study\\WebRoot\\computer_stream.txt"));
			for(Computer comp : computer){
				comp_oos.writeObject(comp);
			}
			
			ObjectInputStream comp_ois =new ObjectInputStream(new FileInputStream("F:\\project\\study\\WebRoot\\computer_stream.txt"));
			for(Computer comp : computer){
				System.out.println(comp_ois.readObject());
			}
		}
		catch(IOException ioe) {
			ioe.printStackTrace();
		}
		catch(ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
}

/**
 * 进行对象输入输出的时候 要进行Serializable的序列化类,
 * @author Administrator
 *
 */

class Desks implements Serializable {

	String width="100";
	String height="200";
	transient int len=1111; //此成员变量打印不考虑,为默认值
	
	/**
	 * 重写了父类toString() 方法
	 */
	public String toString() {
		return this.width+"    "+this.height+"  "+this.len;
		
	}
}

class Computer implements Serializable {
	 
	private String width;
	private String height;
	private String display_hz;
	private String os_software;
	
	
	public Computer(String width,String height,String display_hz,String os_software) {
		this.width=width;
		this.height=height;
		this.display_hz=display_hz;
		this.os_software=os_software;
	}
	
	public String toString() {
		return "计算机的配置 宽度为:"+this.width +" 高度为:"+this.height+"显示器为:"+this.display_hz+"操作系统"+this.os_software;
	}
	 
}
	
 
分享到:
评论

相关推荐

    基于对象输入输出流和数据结构的图书管理系统

    在JAVA中,对象输入输出流(ObjectInputStream和ObjectOutputStream)允许我们将Java对象的状态保存到持久存储设备(如硬盘)或通过网络进行传输。在这个图书管理系统中,它们被用来序列化和反序列化图书对象,确保...

    对象输入输出流的图书馆里系统(没有界面)

    在Java编程语言中,对象输入输出流(Object Input/Output Stream)是用于序列化和反序列化对象的关键组件。这个图书管理系统项目显然依赖于这些功能来存储和恢复系统的状态,比如书籍信息、借阅记录等。以下是关于...

    JAVA输入输出流实验报告

    在实际开发中,我们还会接触到网络流(如`Socket`和`ServerSocket`)以及对象流(如`ObjectInputStream`和`ObjectOutputStream`),它们分别用于网络数据传输和序列化对象的存储与恢复。 总之,Java的输入输出流是...

    java输入输出流学生成绩管理

    在Java编程语言中,输入输出流(Input/Output Stream)是处理数据传输的核心部分,尤其在文件操作和网络通信中。对于"java输入输出流学生成绩管理"这个项目,我们可以推断它是一个使用Java I/O流实现的学生分数管理...

    Java 输入输出流 源码

    5. **对象序列化流**:ObjectOutputStream和ObjectInputStream允许Java对象的序列化和反序列化,即将对象转换为字节流以便存储或在网络上传输。 6. **缓冲流**:BufferedInputStream、BufferedOutputStream、...

    java输入输出流的两种写法

    - **ObjectInputStream** 和 **ObjectOutputStream**:用于序列化和反序列化Java对象的输入输出流,能够将对象转换为字节流并反之。 6. 网络流: - **Socket** 和 **ServerSocket** 类提供的输入输出流,用于网络...

    浅谈输入输出流

    本文旨在通过简要介绍Java中的输入输出流,帮助读者更好地理解和运用这一概念。 #### 二、Java输入输出流概述 Java中的输入输出流是一种用于处理数据读取和写入的技术。当程序需要从外部获取数据时,会创建一个...

    java 输入输出流

    Java的输入输出流机制是相当强大且灵活的,它提供了多种类型和级别的流来满足不同场景的需求,从基本的字节流到高级的过滤流和对象流,构成了完整的I/O体系。理解和熟练掌握Java的输入输出流对于任何Java开发者来说...

    java输入输出流.ppt

    此外,Java还提供了特殊用途的流,如ObjectInputStream和ObjectOutputStream用于序列化和反序列化对象,PipedInputStream和PipedOutputStream用于线程间的通信。 总的来说,Java的I/O流系统是一个强大的工具,能够...

    JAVa输入输出流程序

    除此之外,Java还提供了缓冲流(Buffered)、转换流(InputStreamReader/OutputStreamWriter)、对象流(ObjectInputStream/ObjectOutputStream)以及文件流(FileInputStream/FileOutputStream)等特定功能的流。...

    java输入输出流的代码示例

    在这个主题中,我们将深入探讨Java输入输出流的使用,通过具体的代码示例帮助你理解和掌握这个关键知识点。 1. **基本概念** - **InputStream** 和 **OutputStream**: 这是所有输入流和输出流类的基类,分别代表...

    Java输入输出流以及线程讲解

    3. 对象流:ObjectInputStream和ObjectOutputStream允许我们将Java对象序列化和反序列化,从而实现对象的持久化存储或网络传输。 4. 转换流:InputStreamReader和OutputStreamWriter用于在字节流与字符流之间转换,...

    输入输出流和文件操作

    在Java中,输入输出流和文件操作是通过面向对象的方式实现的,通过创建相应的流对象,调用其方法来完成数据的传输。理解并熟练掌握这些概念和类,对于开发任何Java应用程序,尤其是涉及到文件操作的场景,都是至关...

    java 输入输出流 实例

    Java输入输出流(I/O流)是Java编程语言中用于处理数据输入和输出的重要机制。在Java中,I/O流允许程序与外部源(如键盘、显示器、文件、网络连接等)交换数据。本实例将深入讲解如何使用Java I/O流进行文件的读取和...

    jsp .java中输入输出流 java IO 下载 流的应用先01 > 02 > 01

    标题中的“jsp .java中输入输出流 java IO 下载 流的应用先01 > 02 > 01”指的是一个关于Java编程中输入输出流(IO)在JSP(JavaServer Pages)和Java应用程序中的使用,特别是针对文件下载场景的知识点讲解。...

    java 对象输入输出流读写文件的操作实例

    Java 对象输入输出流读写文件的操作实例是 Java 语言中的一种常见操作,用于实现对对象的序列化和反序列化。在 Java 中,对象的序列化是指将对象转换为字节流的过程,而反序列化是指将字节流转换回对象的过程。 在 ...

    浅谈Java的输入输出流

    `FileInputStream`和`FileOutputStream`是两个用于处理文件输入输出的流类,它们分别继承自`InputStream`和`OutputStream`。这两个类是Java中处理文件读写的最基本方式。 - **FileInputStream**:用于读取文件。 - *...

    java输入输出流文档

    - 特殊需求,包括转换类如 `InputStreamReader` 和 `OutputStreamWriter`,对象输入输出类 `ObjectInputStream` 和 `ObjectOutputStream`,进程间通信的管道流,以及合并输入的 `SequenceInputStream` 等。...

    java输入输出流 流式输入与输出

    Java输入输出流(Input/Output Stream)是Java平台核心API的重要组成部分,主要用于处理数据的输入和输出。Java的I/O机制是基于流的,即数据以流的形式从一个地方传输到另一个地方。Java的I/O流分为两大类:字节流...

Global site tag (gtag.js) - Google Analytics