最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2016年12月01日 10:29:16   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇Java將對(duì)象保存到文件中/從文件中讀取對(duì)象的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1.保存對(duì)象到文件中

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

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一定要實(shí)現(xiàn)Serializable接口,否則會(huì)拋出java.io.NotSerializableException異常。另外,如果寫(xiě)入的對(duì)象是一個(gè)容器,例如List、Map,也要保證容器中的每個(gè)元素也都是實(shí)現(xiàn) 了Serializable接口。例如,如果按照如下方法聲明一個(gè)Hashmap,并調(diào)用writeObjectToFile方法就會(huì)拋出異常。但是如果是Hashmap<String,String>就不會(huì)出問(wèn)題,因?yàn)镾tring類已經(jīng)實(shí)現(xiàn)了Serializable接口。另外如果是自己創(chuàng)建的類,如果繼承的基類沒(méi)有實(shí)現(xiàn)Serializable,那么該類需要實(shí)現(xiàn)Serializable,否則也無(wú)法通過(guò)這種方法寫(xiě)入到文件中。

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.從文件中讀取對(duì)象

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

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;
  }

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

以上這篇Java將對(duì)象保存到文件中/從文件中讀取對(duì)象的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決mybatis plus 一對(duì)多分頁(yè)查詢問(wèn)題

    解決mybatis plus 一對(duì)多分頁(yè)查詢問(wèn)題

    這篇文章主要介紹了解決mybatis plus 一對(duì)多分頁(yè)查詢問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • spring如何快速穩(wěn)定解決循環(huán)依賴問(wèn)題

    spring如何快速穩(wěn)定解決循環(huán)依賴問(wèn)題

    這篇文章主要介紹了spring如何快速穩(wěn)定解決循環(huán)依賴問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • feign客戶端HTTP狀態(tài)碼為204時(shí)?響應(yīng)體被忽略的問(wèn)題

    feign客戶端HTTP狀態(tài)碼為204時(shí)?響應(yīng)體被忽略的問(wèn)題

    這篇文章主要介紹了feign客戶端HTTP狀態(tài)碼為204時(shí)?響應(yīng)體被忽略的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java編程實(shí)現(xiàn)逆波蘭表達(dá)式代碼示例

    Java編程實(shí)現(xiàn)逆波蘭表達(dá)式代碼示例

    本文主要對(duì)Java算法逆波蘭表達(dá)式的相關(guān)內(nèi)容作了介紹,涉及逆波蘭表達(dá)式的定義已經(jīng)在Java中的實(shí)現(xiàn),具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • 分隔List集合,按指定大小,將集合分成多個(gè)的方法

    分隔List集合,按指定大小,將集合分成多個(gè)的方法

    下面小編就為大家?guī)?lái)一篇分隔List集合,按指定大小,將集合分成多個(gè)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • 關(guān)于Java反編譯字節(jié)碼文件

    關(guān)于Java反編譯字節(jié)碼文件

    將高級(jí)語(yǔ)言翻譯成匯編語(yǔ)言或機(jī)器語(yǔ)言的過(guò)程Java語(yǔ)言中的編譯一般指將Java文件轉(zhuǎn)換成class文件顧名思義反編譯就是編譯的逆向過(guò)程其實(shí)我們常用的開(kāi)發(fā)工具(例如:IDEA、Eclipse)都帶有反編譯功能,需要的朋友可以參考下
    2023-05-05
  • java中的內(nèi)存溢出方式

    java中的內(nèi)存溢出方式

    文章介紹了如何使用jmap和IBMHeapAnalyzer等工具分析OutOfMemoryError: Compressedclassspace錯(cuò)誤,發(fā)現(xiàn)問(wèn)題出在/org/pf4j/PluginClassLoader加載了大量類
    2024-12-12
  • JAVA?流程控制專項(xiàng)精講

    JAVA?流程控制專項(xiàng)精講

    不喜歡羅里吧嗦,講的很精簡(jiǎn)易懂。從基礎(chǔ)開(kāi)始講,后續(xù)會(huì)講到JAVA高級(jí),中間會(huì)穿插面試題和項(xiàng)目實(shí)戰(zhàn),希望能給大家?guī)?lái)幫助
    2022-03-03
  • cmd編譯運(yùn)行java程序的方法

    cmd編譯運(yùn)行java程序的方法

    本文主要介紹了cmd編譯運(yùn)行java程序的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 從HelloWorld和文檔注釋開(kāi)始入門Java編程

    從HelloWorld和文檔注釋開(kāi)始入門Java編程

    這篇文章主要介紹了從HelloWorld和文檔注釋開(kāi)始入門Java編程,涉及到Javadoc工具的使用,需要的朋友可以參考下
    2015-10-10

最新評(píng)論

翁源县| 中宁县| 娱乐| 连南| 张北县| 辽阳市| 黄冈市| 特克斯县| 铁力市| 万山特区| 洛川县| 磴口县| 赤峰市| 莱芜市| 石狮市| 尚志市| 青浦区| 隆德县| 塔城市| 丰原市| 育儿| 水富县| 莫力| 册亨县| 平度市| 托克托县| 航空| 石棉县| 珲春市| 石楼县| 凌云县| 兴文县| 霍林郭勒市| 西畴县| 广安市| 科技| 莱州市| 德钦县| 庄河市| 博白县| 甘孜|