返回顶部
首页 > 资讯 > 后端开发 > JAVA >java.io.EOFException产生的原因以及解决方法
  • 135
分享到

java.io.EOFException产生的原因以及解决方法

java 2023-09-07 19:09:01 135人浏览 泡泡鱼
摘要

01 异常发生场景 使用ObjectInputStream类往文件中传入自定义类student时 ObjectInputStream objectInputStream=null;        ArrayList students=n

01 异常发生场景

  • 使用ObjectInputStream类往文件中传入自定义类student时

ObjectInputStream objectInputStream=null;        ArrayList students=null;        try {            objectInputStream = new ObjectInputStream(new FileInputStream("D:\\桌面\\java38\\javase08\\java08\\1.txt"));            students = (ArrayList) objectInputStream.readObject();            System.out.println("数据载入成功");​        }catch (Exception e) {            e.printStackTrace();            System.out.println("数据载入失败");        }

02 异常产生原因

  • 经过导师查找,终于发现了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();如果使用会产生并发症 java.lang.NullPointerException(空指针异常)

03 异常解决

        ObjectInputStream objectInputStream=null;        ArrayList students=null;        try {            objectInputStream = new ObjectInputStream(new FileInputStream("D:\\桌面\\java38\\javase08\\java08\\1.txt"));            students = (ArrayList) 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 students=null;)所以catch里new一个新的对象)

  • 如果不为空,则 students = (ArrayList) objectInputStream.readObject();正常执行,不报错误

04 总结

  • java.io.EOFException不是一个常出现的问题,而且并发症 java.lang.NullPointerException(空指针异常),只有objectInputStream.readObject();接收为null且1.txt文件为空时才会出现

  • EOFException只需要捕获,该bug在本场景下被捕获后程序就不会终止了,甚至不处理也行。

来源地址:https://blog.csdn.net/2302_77182979/article/details/132056706

--结束END--

本文标题: java.io.EOFException产生的原因以及解决方法

本文链接: https://lsjlt.com/news/398829.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java.io.EOFException产生的原因以及解决方法
    01 异常发生场景 使用ObjectInputStream类往文件中传入自定义类student时 ObjectInputStream objectInputStream=null;        ArrayList students=n...
    99+
    2023-09-07
    java
  • MySQL死锁的产生原因以及解决方案
    数据库和操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据...
    99+
    2022-05-15
    MySQL 死锁 MySQL 死锁解决
  • 502 Bad Gateway产生的原因以及8种详细的解决方法
    文章目录 1. 复现错误 2. 分析错误 2.1 502系列错误代码 2.2 5XX系列错误代码 3. 产生502错误的原因 4. 解决502错误的方...
    99+
    2023-09-03
    gateway 服务器 后端 运维 运维开发
  • Script Error产生的原因及解法
    Script Error产生的原因可能有多种,包括但不限于以下几点:1. 脚本代码错误:脚本中可能存在语法错误、变量未定义、函数未定...
    99+
    2023-09-21
    解法
  • 浅析PHP符号乱码产生的原因及解决方法
    在使用PHP编程语言的过程中,有时会遇到符号乱码的问题。符号乱码指的是在代码运行或页面显示时,原本应该显示的符号变成了一些乱码或者其他未知字符,这不仅会影响程序的正常运行,还会影响程序的可读性和可维护性。本文将介绍PHP符号乱码产生的原因和...
    99+
    2023-05-14
    乱码 php
  • MySQL死锁产生的原因和解决方法
    前言 最近老顾经常碰到同事说,mysql又死锁了导致业务报错。今天我们就来聊聊死锁以及怎么解决 锁类型 mysql锁级别:页级、表级、行级 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:...
    99+
    2023-08-31
    mysql 数据库 java
  • Oracle常见死锁发生的原因以及解决方法
    一.删除和更新之间引起的死锁 造成死锁的原因就是多个线程或进程对同一个资源的争抢或相互依赖。这里列举一个对同一个资源的争抢造成死锁的实例。 CREATE ...
    99+
    2024-04-02
  • PHP符号乱码产生的原因及解决方法是什么
    这篇文章主要介绍“PHP符号乱码产生的原因及解决方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP符号乱码产生的原因及解决方法是什么”文章能帮助大家解决问题。一、原因编码问题:PHP编程...
    99+
    2023-07-05
  • php产生500错误的原因和解决方法
    PHP 500错误是web开发过程中常见的一种错误,它产生的原因有许多种可能,如果不知道如何解决这种错误,可能会对网站的访问和功能产生影响。在本文中,我们将详细了解PHP 500错误的含义、产生原因以及解决方法。什么是PHP 500错误?P...
    99+
    2023-05-14
    500错误 php
  • 了解Service Unavailable的原因以及解决方法
    一、如果出现“Service Unavailable”的提示,刷新几下又可以访问。出现这种情况是由于您的网站超过了iis限制造成的由于2003的操作系统在提示IIS过多时并非像2000系统提示&l...
    99+
    2023-05-25
    Service Unavailable WINDOWS2003 原因 方法
  • Win7常见启动故障产生的原因及解决方法整理
      相信绝大多数朋友都用上了Win7系统了吧,Win7系统虽然比以前其他版本的Windows系统都稳定得多,但是由于安装某些特殊软件或误操作,系统还是会出现各种启动故障。接下来,笔者就来给大家分析一下Win7常见启动故障...
    99+
    2023-06-02
    win7 启动故障 解决 原因 故障 整理 方法
  • BindingException异常的产生原因及解决过程详解
    一. 问题背景 今天我在讲完MyBatis后,学生在进行代码练习时遇到了下面这样的一个异常,先上图: 二. 问题分析 1.原因分析 首先我们看到,这里抛出的异常是org.apache.ibatis.binding.BindingExcep...
    99+
    2023-09-03
    mybatis java mysql
  • 数据库死锁产生的原因及解决方案有哪些
    数据库死锁产生的原因及解决方案有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。数据库死锁产生的原因及解决方案:1、程序的B...
    99+
    2024-04-02
  • Invalid bound statement (not found)的原因以及解决方法
    相信我们在学习Mybatis的时候都出现过 Invalid bound statement (not found) 这个错误,一般由以下几种可能导致这个错误 一:mapper方法名 和 mapper.xml id名不对应 例如: mappe...
    99+
    2023-09-14
    mybatis java mysql
  • Java OOM原因以及解决方案
    1)什么是OOM? OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明...
    99+
    2024-04-02
  • php产生500错误的原因和解决方法是什么
    这篇文章主要介绍“php产生500错误的原因和解决方法是什么”,在日常操作中,相信很多人在php产生500错误的原因和解决方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php产生500错误的原因和解...
    99+
    2023-07-05
  • 文件夹无法删除的原因以及解决方法
    文件夹无法删除的原因通常有以下几种情况:1. 文件夹中包含正在使用的文件:如果文件夹中有正在运行的程序或被其他程序占用的文件,系统会...
    99+
    2023-09-05
    文件夹
  • 详解Java中NullPointerException异常的原因以及解决方法
    NullPointerException是Java中常见的异常之一,通常是在运行时发生的。该异常表示程序试图访问一个空对象的属性或调...
    99+
    2023-08-11
    java
  • SpringAop @Around执行两次的原因以及解决方法
    这篇文章主要讲解了“SpringAop @Around执行两次的原因以及解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringAop @Around执行两次的原因以及解决方法”吧...
    99+
    2023-06-20
  • Nginx显示500错误的原因以及解决方法
    目录1.背景2.Nginx 常见的几种报错3. 解决500错误1.资源不足2.nginx配置文件错误总结1.背景 最近在操作nginx 的时候出现了 Nginx 500 内部错误,在...
    99+
    2022-12-27
    nginx 500错误原因 nginx500错误原因解决方法 500错误代码nginx
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作