博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中对象流使用的一个注意事项
阅读量:5207 次
发布时间:2019-06-14

本文共 1611 字,大约阅读时间需要 5 分钟。

再写jsp的实验作业的时候,需要用到java中对象流,但是碰到了之前没有遇到过的情况,改bug改到崩溃!!记录下来供大家分享

如果要用对象流去读取一个文件,一定要先判断这个文件的内容是否为空,如果为空的话,就是连对象流的实例对象也不要创建,一创建就会报错。

错误代码实例:

public static void main(String[] args){        ObjectInputStream ois = null;        File file = new File("F:\\MessageBroad.txt");        try{            ois = new ObjectInputStream(new FileInputStream(file));//一创建实例就会报错            Student stu = (Student) ois.readObject();            System.out.println(stu);        } catch(IOException exception){            exception.printStackTrace();        } catch(ClassNotFoundException e){            e.printStackTrace();        }finally{            try{                ois.close();            }catch(IOException e){                System.out.println("文件关闭异常");            }        }    }

具体错误如下:

所以在读取之前,一定要判断这个文件是否存在且内容是否为空:

更改代码如下:

 

public static void main(String[] args){        ObjectInputStream ois = null;        File file = new File("F:\\MessageBroad.txt");        if(!file.exists() || file.length()!=0) {
//特别判断一下 try{ ois = new ObjectInputStream(new FileInputStream(file)); Student stu = (Student) ois.readObject(); System.out.println(stu); } catch(IOException exception){ exception.printStackTrace(); } catch(ClassNotFoundException e){ e.printStackTrace(); }finally{ try{ ois.close(); }catch(IOException e){ System.out.println("文件关闭异常"); } } } }

 

转载于:https://www.cnblogs.com/sykline/p/10197810.html

你可能感兴趣的文章
python xml解析和生成
查看>>
CSS - input 只显示下边框
查看>>
gulp下单页面应用打包
查看>>
python应用:爬虫实例(静态网页)
查看>>
012 webpack中的router
查看>>
用Monitor简单3步监控中间件ActiveMQ
查看>>
ANDROID_MARS学习笔记_S01原始版_018_SERVICE之Parcel
查看>>
迅为iTOP-4418开发板兼容八核6818开发板介绍
查看>>
com.fasterxml.jackson.databind.JsonMappingException
查看>>
【UVa 540】Team Queue
查看>>
Advanced Architecture for ASP.NET Core Web API
查看>>
数据结构(一)--线性表
查看>>
排序算法(二)
查看>>
4.4 多线程进阶篇<下>(NSOperation)
查看>>
如何更改Android的默认虚拟机地址(Android virtual driver路径设置)
查看>>
Python内置函数(36)——iter
查看>>
事件双向绑定原理
查看>>
HTML标签_1
查看>>
[Angular] @ViewChildren and QueryLists (ngAfterViewInit)
查看>>
jsp组成元素
查看>>