可以保存任意对象,包括集合,map等
/**
** @param obj 要保存的对象
* @param fileName 保存的文件名
* @return
*/
public static Boolean saveObj(Object obj ,String fileName){
FileOutputStream fos = null;
ObjectOutputStream oos = null;
String path = System.getProperty("user.dir")+"/";//获得当前项目包括项目名称的路径
File file = new File(path+fileName); //创建文件对象需要包括文件名的的完全路径
try {
fos = new FileOutputStream(file);
oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
oos.flush();
return true;
} catch (FileNotFoundException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}finally{
try {
oos.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
对象保存后可以用这个方法又将保存的对象读取出来
该方法返回Object对象获得Object将其强转还原为之前保存的对象
*
* @param fileName 要读取的文件名
* @return
*/
public static Object getObj(String fileName ){
FileInputStream fis = null;
ObjectInputStream ois = null;
String path = System.getProperty("user.dir")+"/";
File file = new File(path+fileName);
try {
fis= new FileInputStream(file);
ois = new ObjectInputStream(fis);
return ois.readObject();
} catch (FileNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "没有找到"+fileName+"文件");
return null;
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, fileName+"文件异常");
return null;
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "没有找到"+fileName+"文件");
e.printStackTrace();
return null;
}finally{
try {
ois.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}