ObjectInputStream类
ObjectInputStream(对象输入流)可读取使用对象输出流写入的原始数据和类型,与文件输入输出流一起可以实现对象的持久性存储。它的构造函数和一个读对象的方法如下:
public ObjectInputStream(InputStream in) throws IOException
从特定的输入流中读取并创建一个对象输入流。
Public Object readObject()
从对象输入流中读取对象。
ObjectOutputStream类
ObjectOutputStream(对象输出流)可将Java的原始数据类型和图形写入输出流,对象可以使用对象输入流读取,使用文件可以实现对象的持久存储。它的构造函数和一个写对象方法如下:
public ObjectOutputStream(OutputStream out) throws IOException
创建一个对象输出流,可以写入特定的输出流。
void writeObject(Object obj)
将对象obj写入对象输出流。
将日期对象和向量对象写入文件,然后从文件中读出并输出到屏幕上,要求向量对象含有三个值“语文”、“数学”和“物理”。源程序代码如下:
//程序文件名为UseStream.java
import java.io.*;
import java.util.*;
public class UseStream extends Object
{
public static void main(String[] args)
{
//构建Vector对象
Vector v = new Vector();
v.add("语文");
v.add("数学");
v.add("物理");
try
{
//文件处理对象
File f = new File("temp.txt");
FileOutputStream fOut = new FileOutputStream(f);
ObjectOutputStream objOut = new
ObjectOutputStream(fOut);
//写入日期对象
objOut.writeObject(new Date());
//写入Vector对象
objOut.writeObject(v);
objOut.close();
//构建readObj的实例
readObj rObj = new readObj();
//调用方法输出
rObj.readO();
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
};
//自定义类,实现读取对象并输出
class readObj extends Object
{
public void readO()
{
try
{
//文件处理对象
File f = new File("temp.txt");
FileInputStream fIn = new FileInputStream(f);
ObjectInputStream objIn = new ObjectInputStream(fIn);
//读取对象输出
Object ob1 = objIn.readObject();
System.out.println(ob1);
Object ob2 = objIn.readObject();
System.out.println(ob2);
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
catch(ClassNotFoundException e)
{
System.out.println(e.getMessage());
}
}
};
|