国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java將對象保存到文件中/從文件中讀取對象的方法

2019-11-26 13:30:10
字體:
供稿:網(wǎng)友

1.保存對象到文件中

Java語言只能將實現(xiàn)了Serializable接口的類的對象保存到文件中,利用如下方法即可:

public static void writeObjectToFile(Object obj)  {    File file =new File("test.dat");    FileOutputStream out;    try {      out = new FileOutputStream(file);      ObjectOutputStream objOut=new ObjectOutputStream(out);      objOut.writeObject(obj);      objOut.flush();      objOut.close();      System.out.println("write object success!");    } catch (IOException e) {      System.out.println("write object failed");      e.printStackTrace();    }  }

參數(shù)obj一定要實現(xiàn)Serializable接口,否則會拋出java.io.NotSerializableException異常。另外,如果寫入的對象是一個容器,例如List、Map,也要保證容器中的每個元素也都是實現(xiàn) 了Serializable接口。例如,如果按照如下方法聲明一個Hashmap,并調(diào)用writeObjectToFile方法就會拋出異常。但是如果是Hashmap<String,String>就不會出問題,因為String類已經(jīng)實現(xiàn)了Serializable接口。另外如果是自己創(chuàng)建的類,如果繼承的基類沒有實現(xiàn)Serializable,那么該類需要實現(xiàn)Serializable,否則也無法通過這種方法寫入到文件中。

Object obj=new Object();    //failed,the object in map does not implement Serializable interface    HashMap<String, Object> objMap=new HashMap<String,Object>();    objMap.put("test", obj);    writeObjectToFile(objMap);

2.從文件中讀取對象

可以利用如下方法從文件中讀取對象

public static Object readObjectFromFile()  {    Object temp=null;    File file =new File("test.dat");    FileInputStream in;    try {      in = new FileInputStream(file);      ObjectInputStream objIn=new ObjectInputStream(in);      temp=objIn.readObject();      objIn.close();      System.out.println("read object success!");    } catch (IOException e) {      System.out.println("read object failed");      e.printStackTrace();    } catch (ClassNotFoundException e) {      e.printStackTrace();    }    return temp;  }

讀取到對象后,再根據(jù)對象的實際類型進行轉(zhuǎn)換即可。

以上這篇Java將對象保存到文件中/從文件中讀取對象的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 盐山县| 政和县| 丹棱县| 营口市| 石家庄市| 元谋县| 天津市| 敦化市| 南乐县| 兴宁市| 商丘市| 德州市| 九龙坡区| 东明县| 千阳县| 玉山县| 威远县| 阜平县| 广汉市| 牟定县| 保康县| 茌平县| 赣榆县| 庆元县| 通许县| 无极县| 昌图县| 错那县| 铅山县| 饶阳县| 仪征市| 台中县| 浪卡子县| 宁都县| 新津县| 彭阳县| 娱乐| 汾西县| 云龙县| 塘沽区| 德令哈市|