/**
* 文件转化为Object
* @param fileName
* @return byte[]
*/
public static Object file2Object(String fileName) {
FileInputStream fis = null;
ObjectInputStream ois = null;
try {
fis = new FileInputStream(fileName);
ois = new ObjectInputStream(fis);
Object object = ois.readObject();
return object;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (ois != null) {
try {
ois.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
return null;
}
/**
* 把Object输出到文件
* @param obj
* @param outputFile
*/
public static void object2File(Object obj, String outputFile) {
ObjectOutputStream oos = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File(outputFile));
oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (oos != null) {
try {
oos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
}
/**
*如果是多个对象被序列化,那么在序列化文件中它应当是ArrayList。序列化可以是数组,那么
*你反序列化自然是对象数组,在序列化是使用这种数组方式比单个序列化要合适。如果按照你的
*这种写法,生成的序列化文件相当于一个table,反序列化时一次readObject()只能读一个对
*象,下一个对象需要再写一次readObject(),这样一来需要一个循环,然后每次读到的对象放
*入一个数组中,so非常麻烦。
*
*/
一个序列化的对象