package stream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class ObjectOperator<T> {
public static void main(String[] args) {
// TODO Auto-generated method stub
ObjectOperator<Person> oo = new ObjectOperator<Person>();
oo.writerObject("d:\\test\\test.txt", new Person("gfdonx",20));
Person p = oo.readerObject("d:\\test\\test.txt");
System.out.println(p.toString());
}
@SuppressWarnings("unchecked")
public T readerObject(String path){
Object o = null;
File file = new File(path);
FileInputStream fis = null;
ObjectInputStream ois = null;
try {
fis = new FileInputStream(file);
ois = new ObjectInputStream(fis);
o = ois.readObject();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
try {
if(ois != null)
ois.close();
if(fis != null)
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return (T) o;
}
public boolean writerObject(String path,T t1){
boolean success = false;
File file = new File(path);
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(file);
oos = new ObjectOutputStream(fos);
oos.writeObject(t1);
success = true;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
try {
if(fos != null)
fos.flush();
if(oos != null)
oos.flush();
if(oos != null)
oos.close();
if(fos != null)
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return success;
}
}
java将系列化后的对象保存在文件中,及反系列化 (ObjectInputStream,ObjectOutputStream)
最新推荐文章于 2023-02-06 11:09:14 发布