`

java基础--ObjectOutputStream和ObjectInputStream

 
阅读更多

 

ObjectOutputStream和ObjectInputStream  

这个流的作用是,直接将一个对象转换为字节流..其实就是序列化...implements Serializable

 

Serializable这个是标记性的接口...标记性就是说,这个接口没有提供任何的方法.所以我们也不需要实现方法.但是如果某一个类需要被序列化,那么,他就必须实现这个接口...

 

看例子

 

package com.test.Stream;

 

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Serializable;

 

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.FileInputStream;
import java.io.ObjectInputStream;

 

/**
 * @author 陈静波 E-mail:jingbo2759@163.com
 * @version 创建时间:Aug 29, 2009 4:06:45 PM 类说明
 */
public class ObjectStreamTest
{

 

 public static void main(String[] args)
 {
  T t = new T();
  t.k = 15;

 

  try
  {
   FileOutputStream fos = new FileOutputStream("d:/333.txt");
   ObjectOutputStream oos = new ObjectOutputStream(fos);

 

   oos.writeObject(t);

 

   fos.close();
   oos.close();
  } catch (FileNotFoundException e)
  {
   e.printStackTrace();
  } catch (IOException e)
  {
   e.printStackTrace();
  }
  
  try
  {
   FileInputStream fis = new FileInputStream("d:/333.txt");
   ObjectInputStream ois = new ObjectInputStream(fis);
   
   T t2 = (T)ois.readObject();
   
   System.out.println(t2.i);
   System.out.println(t2.k);
   System.out.println(t2.s);
   System.out.println(t2.j);
  } catch (FileNotFoundException e)
  {
   e.printStackTrace();
  } catch (IOException e)
  {
   e.printStackTrace();
  } catch (ClassNotFoundException e)
  {
   e.printStackTrace();
  }
 }

 

}

 

@SuppressWarnings("all")
class T implements Serializable
{
 int i = 20;
 short j = 10;
 String s = "hello";
 int k = 100;
}

 

注意,这里虽然将Object写到了333.txt文件中.但是我们可以看到.333.txt文件里的内容我们看不懂

 

最后说下一个关键字..transient  这个表示透明的,只能修饰类里的属性...作用是,在序列化的时候对被transient修饰的属性不予考虑...很简单的,不举例子了

分享到:
评论

相关推荐

    java序列化与ObjectOutputStream和ObjectInputStream的实例详解

    主要介绍了java序列化与ObjectOutputStream和ObjectInputStream的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

    ObjectInputStream 和 ObjectOutputStream 介绍_动力节点Java学院整理

    ObjectInputStream 和 ObjectOutputStream 的作用是,对基本数据和对象进行序列化操作支持。本文给大家详细介绍了ObjectInputStream 和 ObjectOutputStream的相关知识,感兴趣的朋友一起学习吧

    JAVA基础课程讲义

    ObjectInputStream和ObjectOutputStream 158 PrintStream 158 Reader 158 Writer 159 FileReader和FileWriter 159 BufferReader和BufferWriter 159 InputStreamReader和OutputStreamWriter 161 JAVA对象的序列化和反...

    JavaIOObjectStreams:FileInputStream 与 ObjectInputStream 和 ObjectOutputStream 的组合

    JavaIO对象流 FileInputStream 与 ObjectInputStream 和 ObjectOutputStream 的组合 奥利弗·缪尔

    java项目超市

    import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java....

    人工智能-项目实践-搜索引擎-java实验1-实现搜索引擎的倒排索引数据结构

    java实验1-实现搜索引擎的倒排索引数据结构 实验1知识点: 集合类的使用如ArrayList,HashMap ◦对这些集合类的操作包括:遍历、添加、排序,得到集合的大小、判断集合里是否已存在指定元素 第三是熟悉对象的序列...

    AIC的Java课程1-6章

     掌握串行化概念,学会使用FileInputStream,FileOutputStream,ObjectInputStream,ObjectOutputStream等类输入输出对象。  明白通过捕获异常判定输入文件流的结束。  [*]知道使用RandomAccessFile...

    Java高级程序设计实战教程第五章-Java序列化机制.pptx

    其中包括以下接口和类: java.io.Serializable java.io.Externalizable ObjectOutput ObjectInput ObjectOutputStream ObjectInputStream Java高级程序设计实战教程第五章-Java序列化机制全文共15页,当前为第7页。...

    java上的即时通信

    import java.io.ObjectOutputStream; import java.io.ObjectInputStream; import java.io.IOException; import java.io.EOFException; import java.net.ServerSocket; import java.net.Socket; import java.awt....

    java编程基础,应用与实例

    13.6.2 ObjectOutputStream 200 13.6.3 ObjectInputStream 200 13.7 巩固练习 201 第14章 线程 203 14.1 Runtime类与Process类 203 14.2 创建线程 205 14.3 多线程 208 14.4 线程的优先级 210 14.5...

    IO体系.java

    |--ObjectOutputStream/:将java对象的基本数据类型和图形写入到OutputStream。 | |--PipedOutputStream/:可以将管道输出流连接到管道输入流来创建通信管道。 | 用方法connect(PipedInputStream snk) 将此管道...

    java_rpc_demo

    (1)用java写的RPC调用的demo。...(2)没有用到其他的jar包,java对象和流之间的转换用的是java.io.ObjectInputStream和java.io.ObjectOutputStream。 (3)下载解压,可以直接导入Eclipse运行调试。

    学生管理系统

    import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; public class StuC { ArrayList <Student> al=new ArrayList();//类型ArrayList是集合,在定义ArrayList类型...

    通讯录JAVA程序设计实验报告

    程序使用了ObjectInPutStream和ObjectOutPutStream这两个文件输入输出流,利用这两个文件输入输出流,可以方便的直接将通讯记录对象直接写入文件中,另外为了方便添加和删除一条记录还使用了系统的对象数组类...

    bytestreamdemo.zip

    java IO 字节流练习代码 FileInputStream和FileOutputStream BufferedInputStream 和 BufferedOutputStream DataInputStream 和 ...ObjectInputStream和ObjectOutputStream PrintStream PushbackInputStream

    java.io常用方法(基本)

    我自己写的一些关于IO中的见解,可以用来参考。 File的增、删、改、查,FileReader和FileWriter类,BufferedReader和BufferedWriter类,ObjectOutputStream和ObjectInputStream类

    使用Java序列化实现一个简单的文件备份工具.txt

    在该方法中,首先通过FileInputStream和ObjectInputStream读取源文件对象,然后通过ObjectOutputStream将读取的对象写入备份文件中。这个简单的示例代码展示了如何使用Java序列化来实现一个文件备份工具的简单功能,...

    使用Java的文件操作实现一个简单的通讯录管理系统.txt

    loadContactsFromFile()方法使用FileInputStream和ObjectInputStream对象来读取文件中保存的Contact对象列表。如果读取失败,会抛出IOException和ClassNotFoundException异常,此时会调用saveContactsToFile()方法将...

    JAVA实现SOCKET聊天

    用JAVA语言实现网络聊天import java.io.*; import java.net.*; import java.util.*; public class ChatHandler implements Runnable { protected Socket socket; protected ObjectInputStream dataIn; ...

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

    java.io包中,提供了ObjectInputStream和ObjectOutputStream将数据流功能扩展至可读写对象。在ObjectInputStream中用readObject()方法可以直接读取一个对象,ObjectOutputStream中用writeObject()方法可以直接将对象...

Global site tag (gtag.js) - Google Analytics