Java中对象流使用的一个注意事项
2024-09-30 20:27:18
再写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("文件关闭异常");
}
}
}
}
最新文章
- php链接数据库 批量删除 和 注册审核
- (转)iOS安全 对本地文件的保护
- 轻松玩转jquery。
- 利用yii2 gridview实现批量删除案例
- Update DN with Procedure
- 关于Aspose对于Word操作的一些扩展及思考
- perl 分析binlog 定位错误sql 思路
- ie条件注释还能这样写
- 【安卓笔记】高速的发展设置界面-----PreferenceActivity
- (转)Spring事务配置的五种方式
- Virtual Box配置CentOS7网络
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
- pdf.js 使用实例
- 20175211 2018-2019-2 《Java程序设计》第五周学习总结
- 从路由器镜像中提取uImage头信息
- Liferay开发人员培训计划
- spring cloud bus原理总结
- JDK的下载及配置
- Javascript-string-Array
- oracle中for循环
热门文章
- 利用JProfile 7分析内存OOM
- linux进程间通信——netlink【转】
- ios下使用overflow scroll情况下,到达最极端的情况时会拖动整个页面的解决办法
- 使用Java实现图像分割
- 生成 Guid
- WebSphere Application Server切换JAVA SDK版本
- php 5.6 版本配置 oracle ddl
- 405 Convert a Number to Hexadecimal 数字转换为十六进制数
- 流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较
- 268 Missing Number 缺失的数字