Java.io.ObjectOutputStream.writeObject()方法实例

java.io.ObjectOutputStream.writeObject(Object obj) 方法将指定对象写入ObjectOutputStream。该对象的类,类的签名,以及类及其所有超类型的非瞬态和非静态字段的值被写入。默认的序列化的类可以使用writeObject和readObject方法被重写。由此对象引用的对象都写及物动词使对象的完全等价的图形可以由ObjectInputStream重建。

声明

以下是java.io.ObjectOutputStream.writeObject()方法的声明

public final void writeObject(Object obj)

参数

  • obj -- 将要写入的对象

返回值

此方法没有返回值。

异常

  • InvalidClassException -- 类的一些错误的使用序列化。
  • NotSerializableException -- 有些对象被序列化并没有实现java.io.Serializable接口。
  • IOException -- 任何异常由底层的OutputStream抛出。

例子

下面的示例演示java.io.ObjectOutputStream.writeObject()方法的用法。

package com.yiibai;

import java.io.*;

public class ObjectOutputStreamDemo {

   public static void main(String[] args) {

      String s = "Hello world!";
      int i = 897648764;
      try {

         // create a new file with an ObjectOutputStream
         FileOutputStream out = new FileOutputStream("test.txt");
         ObjectOutputStream oout = new ObjectOutputStream(out);

         // write something in the file
         oout.writeObject(s);
         oout.writeObject(i);

         // close the stream
         oout.close();

         // create an ObjectInputStream for the file we created before
         ObjectInputStream ois =
                 new ObjectInputStream(new FileInputStream("test.txt"));

         // read and print what we wrote before
         System.out.println("" + (String) ois.readObject());
         System.out.println("" + ois.readObject());

      } catch (Exception ex) {
         ex.printStackTrace();
      }

   }
}

让我们编译和运行上面的程序,这将产生以下结果:

Hello world!

897648764

时间: 2024-11-05 23:29:02

Java.io.ObjectOutputStream.writeObject()方法实例的相关文章

Java 程序连接 Informix 数据库方法实例介绍

Java 程序连接 Informix 数据库方法实例介绍 Informix 是一种应用广泛的关系型数据库服务器,支持多种类型的客户端连接程序,包括 .Net.Java.PHP 等.对于 Java 程序,Informix 支持两种 JDBC 供客户端连接.本文对这两种 JDBC 进行详细介绍,并给出 Java 使用两种方法连接 Informix 的方法和实例,对数据库开发人员具有指导意义 开您的试用 概述 Informix 是一种应用广泛的关系型数据库服务器,支持多种类型的客户端连接程序,包括 .

Java.io下的方法是对磁盘上的文件进行磁盘操作

File类(java.io.*)可表示一个文件,也有可能是一个目录(在JAVA中文件和目录都属于这个类中,而且区分不是非常的明显). Java.io下的方法是对磁盘上的文件进行磁盘操作,但是无法读取文件的内容. 注意:创建一个文件对象和创建一个文件在JAVA中是两个不同的概念.前者是在虚拟机中创建了一个文件,但却并没有将它真正地创建到OS的文件系统中,随着虚拟机的关闭,这个创建的对象也就消失了.而创建一个文件才是在系统中真正地建立一个文件. 1 package TomTexts; 2 impor

【转】Java.util.ArrayList.set()方法实例

java.util.ArrayList.set(int index, E element) 替换与指定元素在此列表中指定位置的元素. 声明 以下是java.util.ArrayList.set()方法的声明 public E set(int index, E element) 参数 index -- 替换索引的元素. element -- 要被存储在指定位置的元素. 返回值 此方法返回在指定位置之前元素. 异常 IndexOutOfBoundsException -- 如果索引超出范围 例子 下

Java.util.Calendar.getInstance()方法实例

java.util.Calendar.getInstance() 使用目前的时区和语言环境的方法得到一个日历. 声明 以下是java.util.Calendar.getInstance()方法的声明 public static Calendar getInstance() 参数 NA 返回值 该方法返回一个日历Calendar. 异常 NA 例子 下面的示例演示java.util.Calendar.getInstance()方法的用法. package com.yiibai; import ja

java.lang.System.setProperty()方法实例

java.lang.System.setProperty() 方法设置指定键指定的系统属性. 声明 以下是java.lang.System.setProperty()方法的声明 public static String setProperty(String key, String value) 参数 key -- 此是该系统属性的名称. value -- 是该系统属性的值. 返回值 此方法返回系统属性之前的值,则返回null,如果它没有一个. 异常 SecurityException -- 如果

Java返回泛型的方法-实例

package com.frank.app; import java.io.UnsupportedEncodingException;import java.lang.reflect.Type;import java.net.URLEncoder;import java.util.LinkedList;import java.util.List; public class App { private static <T> List<T> demo1(Class<T> c

【java】Java.math.BigDecimal.subtract()方法实例

java.math.BigDecimal.subtract(BigDecimal subtrahend) 返回一个BigDecimal,其值为 (this - subtrahend), 精度为 max(this.scale(), subtrahend.scale()). 声明 以下是声明java.math.BigDecimal.subtract()方法 public BigDecimal subtract(BigDecimal subtrahend) 参数: subtrahend - 此BigD

java.io.NotSerializableException

在序列化非静态内部类的时候发现序列化不成功,出现下列异常: java.io.NotSerializableException: com.tang.sharedpreferencesdemo.MainActivity W/System.err( 2356):     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364) W/System.err( 2356):     at java.io.Object

我的Java开发学习之旅------&gt;Java使用ObjectOutputStream和ObjectInputStream序列号对象相关问题解决方法

今天用ObjectOutputStream和ObjectInputStream进行对象序列化话操作的时候,报了java.io.EOFException异常. 异常代码如下: java.io.EOFException at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2554) at java.io.ObjectInputStream.readObject0(ObjectInputSt