package com.java.test;
import
java.io.BufferedInputStream;
import
java.io.BufferedOutputStream;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.io.ObjectInputStream;
import
java.io.ObjectOutputStream;
public
class
TestObjectOutPutStream {
/**
* 向文件中写入一个对象,该对象在文件里是以二进制存放的.
*
@param
student
*/
public
static
void
testWriter(Student
student
){
try
{
ObjectOutputStream
oos
=
new
ObjectOutputStream(
new
BufferedOutputStream(
new
FileOutputStream(
"F://file.txt"
)));
oos
.writeObject(
student
);
oos
.flush();
oos
.close();
}
catch
(IOException
e
) {
e
.printStackTrace();
}
finally
{
System.
out
.println(
"写入成功!"
);
}
}
/**
* 从文件中读取对象,并强制转换对象
*/
public
static
void
testReader(){
try
{
ObjectInputStream
ois
=
new
ObjectInputStream(
new
BufferedInputStream(
new
FileInputStream(
"F://file.txt"
)));
Student
stu
= (Student)
ois
.readObject();
System.
out
.println(
stu
);
ois
.close();
}
catch
(IOException
e
) {
//
TODO
Auto-generated catch block
e
.printStackTrace();
}
catch
(ClassNotFoundException
e
) {
//
TODO
Auto-generated catch block
e
.printStackTrace();
}
finally
{
System.
out
.println(
"读取成功!"
);
}
}
public
static
void
main(String[]
args
) {
Student
student
=
new
Student();
student
.setId(99);
student
.setName(
"maliao"
);
student
.setScore(899);
testReader();
}
}