eofexceptionjava.io.EOFException这是个什么异常应该怎么解决

eofexception  时间:2021-09-02  阅读:()

出现java.io.EOFException 求教!!

你断点调试一下,你的构造 方法里面的if(fips.read()==-1)里面的语句是得不到执行的。

所以,那个文件里面根本没有写入空的List,你用readObject去取就会出错。

我运行了一下,断点后,发现了一个错误: 在你load之前,你首先实例化了一个output,可能这里出错了。

下面是正常运行的,你自己对比下: Person类我就没有贴了。

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; class TestFile { String f = null; FileInputStream fips = null; ObjectOutputStream oops = null; public TestFile() throws Exception { f = "d:" + File.separator + "resource.txt"; File fi = new File(f); if (!fi.exists()){ fi.createNewFile(); oops = new ObjectOutputStream(new FileOutputStream(fi)); List l = new ArrayList(); oops.writeObject(l); oops.flush(); oops.close(); } } public void save(Object o) throws Exception { @SuppressWarnings("unchecked") List per = (List) this.load(); per.add((Person) o); oops = new ObjectOutputStream(new FileOutputStream(f)); oops.writeObject(per); oops.close(); } public Object load() throws Exception { ObjectInputStream oips = new ObjectInputStream(new FileInputStream(f)); @SuppressWarnings("unchecked") List per2 = (List) oips.readObject(); oips.close(); return per2; } public static void main(String[] args) throws Exception { TestFile f = new TestFile(); f.save(new Person("小明", 12)); f.save(new Person("小红", 11)); } }

java程序运行时,出现EOFException异常,但是为什么我捕获后编译器报错??

顺序错了。

写成catch (EOFException e) { }catch(FileNotFoundException exc){ }catch( IOException ex){ } 就可以了。

java.io.EOFException怎么解决,同时文件怎么显示乱码

错误修正: /* * 数据的读取 */ public void load(File file) { // 文件输入流 FileInputStream inputStream; DataInputStream input = null; try { inputStream = new FileInputStream(file); // 数据输入流 input = new DataInputStream(inputStream); // 读出 String tempname; int temptime; while (input.available() > 0 && (tempname = (String) input.readUTF()) != null) { temptime = (int) input.readInt(); insert(tempname, temptime); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); } } } }

java.io.EOFException这是个什么异常应该怎么解决

1,内部类BlockDataInputStream.的方法peekByte抛出的异常,意思就是到达了文件的末尾,程序却没有正常结束读取文件内容,你可以单步调试一下看看到达文件末尾之后程序为什么没有停下来 2,从异常来看,你是不是使用了一个内部类BlockDataInputStream?错误就在BlockDataInputStream.peekByte()方法. java.io.EOFException:当输入过程中意外到达文件或流的末尾时,抛出此异常。

此异常主要被数据输入流用来表明到达流的末尾。

LOCVPS:VPS主机全场8折,德国/荷兰/美国KVM终身7折

LOCVPS发来了针对元旦新年的促销活动,除了全场VPS主机8折优惠外,针对德国/荷兰KVM #1/美国KVM#2 VPS提供终身7折优惠码(限量50名,先到先得)。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐优先选择KVM),均选择直连或者优化线路,国内延迟低,适合建站或远程办公使...

欧路云(22元) 新增美国Cera线路VPS主机且可全场8折

欧路云(oulucloud) 商家在前面的文章中也有陆续介绍过几次,这不今天有看到商家新增加美国Cera线路的VPS主机,而且有提供全场八折优惠。按照最低套餐最低配置的折扣,月付VPS主机低至22元,还是比较便宜的。不过我们需要注意的是,欧路云是一家2021年新成立的国人主机商,据说是由深圳和香港的几名大佬创建。如果我们有介意新商家的话,选择的时候谨慎且月付即可,注意数据备份。商家目前主营高防VP...

ReadyDedis:VPS全场5折,1G内存套餐月付2美元起,8个机房可选_服务器安装svn

ReadyDedis是一家2018年成立的国外VPS商家,由印度人开设,主要提供VPS和独立服务器租用等,可选数据中心包括美国洛杉矶、西雅图、亚特兰大、纽约、拉斯维加斯、杰克逊维尔、印度和德国等。目前,商家针对全部VPS主机提供新年5折优惠码,优惠后最低套餐1GB内存每月仅需2美元起,所有VPS均为1Gbps端口不限流量方式。下面列出几款主机配置信息。CPU:1core内存:1GB硬盘:25GB ...

eofexception为你推荐
descriptionDescription是什么意思?eofexceptionjava出现异常Exception in thread "main" java.io.EOFException防护工地安全措施以及防护都有哪些fast路由器如何设置fast无线路由器具体步骤swift语言SWIFT的主要功能短信应用默认短信应用,什么意思?空间背景图片如何更换QQ空间背景图片nvidia官方网站NVIDIA显卡驱动快照优化如何优化百度快照soap是什么意思捡肥皂是什么意思啊?无恶意,就好奇
瓦工 hawkhost优惠码 台湾服务器 omnis permitrootlogin 个人免费空间 台湾谷歌地址 大容量存储器 qq对话框 卡巴斯基破解版 网游服务器 四核服务器 优酷黄金会员账号共享 无限流量 服务器是干什么用的 湖南idc 腾讯网盘 聚惠网 沈阳idc paypal登陆 更多