package com.qianfeng.demo05;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Arrays;
public class ObjectDemo {
public static void main(String[] args) {
// writeFile("c:/test.txt");
readFile("c:/test.txt");
}
public static void writeFile(String destPath){
File destFile = new File(destPath);
//明确数据源
Employee e1 = new Employee("tom",1700);
int []arr = {1,3,5,7,9};
//选择流
ObjectOutputStream oos = null;
try {
oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(destFile)));
//操作向文件中写入数据,为读取做准备
oos.writeObject(e1);
oos.writeObject(arr);
//刷新流
oos.flush();
//关闭流
oos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//反序列化的顺序和序列化的顺序必须一致
public static void readFile(String srcFile){
File file = new File(srcFile);
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(srcFile)));
//读取数据
Object obj = ois.readObject();
Employee emp = (Employee)obj;
System.out.println(emp);
int[]arr = (int[]) ois.readObject();
System.out.println(Arrays.toString(arr));
ois.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
IO流——序列化处理流(ObjectInputStream和ObjectOutputStream)
最新推荐文章于 2020-12-01 22:16:30 发布