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:当输入过程中意外到达文件或流的末尾时,抛出此异常。

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

Hostodo(年付12美元),美西斯波坎机房Linux VPS主机66折

Hostodo 商家是比较小众的国外VPS主机商,这不看到商家有推送促销优惠在美国西岸的斯波坎机房还有少部分库存准备通过低价格促销,年付低至12美元Linux VPS主机,且如果是1GB内存方案的可以享受六六折优惠,均是采用KVM架构,且可以支付宝付款。第一、商家优惠码优惠码:spokanessd 1GB+内存方案才可以用到优惠码,其他都是固定的优惠低至年12美元。第二、商家促销这里,我们可以看到...

Advinservers:美国达拉斯便宜VPS/1核/4GB/80GB SSD/1Gbps不限流量/月付$2.5/美国10Gbps高防服务器/高达3.5TBDDos保护$149.99元/月

Advinservers,国外商家,公司位于新泽西州,似乎刚刚新成立不久,主要提供美国和欧洲地区VPS和独立服务器业务等。现在有几款产品优惠,高达7.5TB的存储VPS和高达3.5TBDDoS保护的美国纽约高防服务器,性价比非常不错,有兴趣的可以关注一下,并且支持Paypal付款。官方网站点击直达官方网站促销产品第一款VPS为预购,预计8月1日交付。CPU为英特尔至强 CPU(X 或 E5)。官方...

小白云 (80元/月),四川德阳 4核2G,山东枣庄 4核2G,美国VPS20元/月起三网CN2

小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...

eofexception为你推荐
按键精灵教程按键精灵看不懂教程谁能简化教教大概主要步骤网页图标如何更改保存在电脑上的网页的显示图标?支付宝账单查询支付宝每个月的账单怎么查看支付宝账单查询支付宝怎么查询交易记录招行信用卡还款招行信用卡还款顺序是怎样的0x800ccc0f任务“POP3.163.COM-正在接收”报告了错误(0x800CCC0F)0x800ccc0f错误号: 0x800CCC0F 这个是虾米意思?互动电视什么是“华数互动电视”?摇一摇周边公众号怎么用微信摇一摇周边功能soap是什么意思rbq是什么意思?
虚拟主机控制面板 西安域名注册 过期备案域名查询 iisphpmysql 鲜果阅读 申请空间 qq数据库下载 贵阳电信测速 网页加速 中国联通宽带测速 apnic 密钥索引 phpinfo 月付空间 在线tracert 云主机 kosskeb4 文件服务器硬件配置 tftp服务器是什么 1500元电脑主机配置 更多