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

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

 更新時間:2016年12月01日 10:29:16   投稿:jingxian  
下面小編就為大家?guī)硪黄狫ava將對象保存到文件中/從文件中讀取對象的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1.保存對象到文件中

Java語言只能將實現了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();
    }
  }

參數obj一定要實現Serializable接口,否則會拋出java.io.NotSerializableException異常。另外,如果寫入的對象是一個容器,例如List、Map,也要保證容器中的每個元素也都是實現 了Serializable接口。例如,如果按照如下方法聲明一個Hashmap,并調用writeObjectToFile方法就會拋出異常。但是如果是Hashmap<String,String>就不會出問題,因為String類已經實現了Serializable接口。另外如果是自己創(chuàng)建的類,如果繼承的基類沒有實現Serializable,那么該類需要實現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;
  }

讀取到對象后,再根據對象的實際類型進行轉換即可。

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

相關文章

  • 解決mybatis plus 一對多分頁查詢問題

    解決mybatis plus 一對多分頁查詢問題

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

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

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

    feign客戶端HTTP狀態(tài)碼為204時?響應體被忽略的問題

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

    Java編程實現逆波蘭表達式代碼示例

    本文主要對Java算法逆波蘭表達式的相關內容作了介紹,涉及逆波蘭表達式的定義已經在Java中的實現,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • 分隔List集合,按指定大小,將集合分成多個的方法

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

    下面小編就為大家?guī)硪黄指鬖ist集合,按指定大小,將集合分成多個的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 關于Java反編譯字節(jié)碼文件

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

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

    java中的內存溢出方式

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

    JAVA?流程控制專項精講

    不喜歡羅里吧嗦,講的很精簡易懂。從基礎開始講,后續(xù)會講到JAVA高級,中間會穿插面試題和項目實戰(zhàn),希望能給大家?guī)韼椭?/div> 2022-03-03
  • cmd編譯運行java程序的方法

    cmd編譯運行java程序的方法

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

    從HelloWorld和文檔注釋開始入門Java編程

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

最新評論

乐清市| 南江县| 德保县| 晋中市| 南开区| 洞头县| 犍为县| 芦山县| 华坪县| 色达县| 兴隆县| 湛江市| 姜堰市| 天津市| 锦州市| 三明市| 镇巴县| 田阳县| 永福县| 亳州市| 肇东市| 桃江县| 罗山县| 阿尔山市| 桃源县| 山东| 陈巴尔虎旗| 巴楚县| 五家渠市| 全南县| 永嘉县| 遂平县| 水城县| 武义县| 中西区| 兰州市| 衡水市| 牟定县| 丁青县| 建昌县| 象州县|