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

java.io.EOFException產生原因及解決方法(附代碼)

 更新時間:2023年09月20日 11:03:14   作者:夢囈  
java.io.EOFException表示在讀取數據時突然遇到了文件或流的末尾,也就是說客戶端或服務器已經關閉了連接,但是你還在嘗試讀取數據,這篇文章主要給大家介紹了關于java.io.EOFException產生原因及解決的相關資料,需要的朋友可以參考下

01 異常發(fā)生場景

使用ObjectInputStream類往文件中傳入自定義類student時

ObjectInputStream objectInputStream=null;
 ? ? ? ?ArrayList<Student> students=null;
 ? ? ? ?try {
 ? ? ? ? ? ?objectInputStream = new ObjectInputStream(new FileInputStream("D:\\桌面\\java38\\javase08\\java08\\1.txt"));
 ? ? ? ? ? ?students = (ArrayList<Student>) objectInputStream.readObject();
 ? ? ? ? ? ?System.out.println("數據載入成功");
?
 ? ? ?  }catch (Exception e) {
 ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ? ? ?System.out.println("數據載入失敗");
 ? ? ?  }

02 異常產生原因

經過導師查找,終于發(fā)現了OFException產生的原因

ObjectInputStream objectInputStream=null;
//idea上顯示null為灰色,說明 new ObjectInputStream(new FileInputStream("D:\\桌面\\java38\\javase08\\java08\\1.txt"));返回值為null,即文件"D:\\桌面\\java38\\javase08\\java08\\1.txt"為空
objectInputStream = new ObjectInputStream(new FileInputStream("D:\\桌面\\java38\\javase08\\java08\\1.txt"));

objectInputStream為空值,則不能使用objectInputStream.close();如果使用會產生并發(fā)癥 java.lang.NullPointerException(空指針異常)

03 異常解決

ObjectInputStream objectInputStream=null;
 ? ? ? ?ArrayList<Student> students=null;
 ? ? ? ?try {
 ? ? ? ? ? ?objectInputStream = new ObjectInputStream(new FileInputStream("D:\\桌面\\java38\\javase08\\java08\\1.txt"));
 ? ? ? ? ? ?students = (ArrayList<Student>) objectInputStream.readObject();
 ? ? ? ? ? ?System.out.println("數據載入成功");
?
 ? ? ?  } catch (EOFException e) {
 ? ? ? ? ? ?students = new ArrayList<>();
?
 ? ? ?  }catch (Exception e) {
 ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ? ? ?System.out.println("數據載入失敗");
 ? ? ?  } finally {
 ? ? ? ? ? ?if(objectInputStream != null) {
 ? ? ? ? ? ? ? ?objectInputStream.close();
 ? ? ? ? ?  }
  • 在finally語句內加上判斷,不等于空值才關閉

  • 捕獲EOFException,但不打印錯誤,為students,new一個新的集合(本來這里也有一個會出bug的地方,但是被我之前就給students賦了null值,(ArrayList<Student> students=null;)所以catch里new一個新的對象)

  • 如果不為空,則 students = (ArrayList<Student>) objectInputStream.readObject();正常執(zhí)行,不報錯誤

04 總結

java.io.EOFException不是一個常出現的問題,而且并發(fā)癥 java.lang.NullPointerException(空指針異常),只有objectInputStream.readObject();接收為null且1.txt文件為空時才會出現

EOFException只需要捕獲,該bug在本場景下被捕獲后程序就不會終止了,甚至不處理也行。

到此這篇關于java.io.EOFException產生原因及解決的文章就介紹到這了,更多相關java.io.EOFException解決內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中關鍵字final finally finalize的區(qū)別介紹

    Java中關鍵字final finally finalize的區(qū)別介紹

    這篇文章主要給大家分享的是 Java中final,finally,finalize 到底有什么區(qū)別,文章圍繞final,finally,finalize的相關資料展開詳細內容,具有一定的參考的價值,需要的朋友可以參考一下
    2022-04-04
  • 關于@CacheEvict無法解決分頁緩存清除的解決思路

    關于@CacheEvict無法解決分頁緩存清除的解決思路

    這篇文章主要介紹了關于@CacheEvict無法解決分頁緩存清除的解決思路,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java實現分布式項目搭建的方法

    java實現分布式項目搭建的方法

    這篇文章主要介紹了java實現分布式項目搭建的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • RabbitMQ從入門到精通與實戰(zhàn)指南

    RabbitMQ從入門到精通與實戰(zhàn)指南

    本文詳細介紹了RabbitMQ,包括其基礎認知、核心架構、交換機類型、高級特性、實戰(zhàn)演練和運維監(jiān)控,通過本文的學習,讀者可以掌握RabbitMQ的使用方法和最佳實踐,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • 詳談Java幾種線程池類型介紹及使用方法

    詳談Java幾種線程池類型介紹及使用方法

    下面小編就為大家?guī)硪黄斦凧ava幾種線程池類型介紹及使用方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • SWT(JFace) 打印功能

    SWT(JFace) 打印功能

    SWT(JFace)體驗之打印功能
    2009-06-06
  • 新建springboot項目時,entityManagerFactory報錯的解決

    新建springboot項目時,entityManagerFactory報錯的解決

    這篇文章主要介紹了新建springboot項目時,entityManagerFactory報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java selenium教程之selenium詳細介紹

    java selenium教程之selenium詳細介紹

    本文主要介紹Java selenium,這里整理了selenium的一些基本資料,此軟件主要用于Web UI自動測試框架,有興趣的同學可以看一下
    2016-08-08
  • 淺談SpringBoot內嵌Tomcat的實現原理解析

    淺談SpringBoot內嵌Tomcat的實現原理解析

    這篇文章主要介紹了淺談SpringBoot內嵌Tomcat的實現原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 面試中遇到的java逃逸分析問題

    面試中遇到的java逃逸分析問題

    這篇文章主要介紹了面試中遇到的java逃逸分析問題,逃逸分析(Escape Analysis)簡單來講就是,Java Hotspot 虛擬機可以分析新創(chuàng)建對象的使用范圍,并決定是否在 Java 堆上分配內存的一項技術。,需要的朋友可以參考下
    2019-06-06

最新評論

科技| 南康市| 浏阳市| 社旗县| 晋中市| 神农架林区| 奉贤区| 凤城市| 广州市| 绥中县| 汽车| 肃北| 洛浦县| 泸水县| 湖南省| 泾川县| 兴仁县| 阿拉善左旗| 金寨县| 和静县| 清远市| 桓台县| 云梦县| 芷江| 峡江县| 安陆市| 藁城市| 云阳县| 手游| 桐乡市| 安溪县| 扶风县| 龙井市| 阜新市| 宁化县| 资溪县| 洪泽县| 石门县| 阿瓦提县| 山阴县| 巍山|