文件写入对象
来源:互联网 发布:移动adhoc网络的特点 编辑:程序博客网 时间:2024/06/14 06:27
早上起来把平台上的作业完成,最后一题是将对象写入文件再从文件中读取对象,开始用ObjectOutputStream处理流放在FileOutputStream字节流上面对对象进行写入,然后ObjectInputStream对文件进行读取,每次都只能读取第一个对象和报一个莫名其妙的错。后来将对象存入list集合里面,再把集合作为一个对象写入文件,但是这个操作有点费力,每次控制台添加信息的时候都要把之前的信息也打上去。想了又想看了又看搞不懂就去百度了...
对象序列化不能像普通文件一样直接追加对象。每次写入对象都会被覆盖。Java默认的对象序列化是每次写入对象都会写入一点头aced 0005(占4个字节),然后每次读取都读完头然后在读内容。解决方法就是先判断文件是否存在。如果不存在,就先创建文件。然后写了第一个对象,也写入了头aced 0005。追加的情况就是当判断文件存在时,把那个4个字节的头aced 0005截取掉,然后在把对象写入到文件。
boolean isexist = false;//定义一个用来判断文件是否需要截掉头aced 0005
//判断文件是否存在
if(files.exists()){
isexist = true;
//创建一个文件输出字节流
FileOutputStream fo = new FileOutputStream(files,true);
objOut = new ObjectOutputStream(fo);//字节 流上加 对象处理流
long pos = 0;
if(isexist){
pos = fo.getChannel().position()-4;
fo.getChannel().truncate(pos);
}
objOut.writeObject(card);//进行序列化
objOut.close();
}else{//文件不存在
files.createNewFile();//创建文件
- 简单对象写入文件
- 文件写入对象
- java将对象写入文件
- java 将对象写入文件
- java中将对象写入文件
- java 对象序列化写入文件
- 将对象写入文件代码示例
- java中将list、map对象写入文件
- 自定义对象写入到plist文件
- java中将list、map对象写入文件
- java 将对象写入到文件中
- UI一揽子计划 18 (沙盒机制、简单对象写入文件、NSFileMange、复杂对象写入文件)
- C#序列化/反序列化对象.将对象写入文件,从文件读取对象.
- java 将对象写入文件进行保存和读取
- IO流-ObjectOutputStream-将对象写入到文件中
- OC中如何将对象写入文件中
- java中遍历对象流写入的文件
- NSDictionary或者NSArray中包含NSNull对象,无法写入文件
- React Native多图层View,实现empty,content,error,loading等界面无缝跳转
- angular4.0 HTTP初级,nodejs搭建服务器,并使用
- android studio 复制项目运行出现Application Installation Failed问题
- mysql 常用约束
- redis--内部结构--sds
- 文件写入对象
- TOMCAT原理详解及请求过程
- 使用pillow实现tensorflow中的一些图像增强函数(crop,contrast,flip,per_image_standardization)
- Java中Synchronized的用法
- MongoDB数据库安装
- 整形范围记忆和注意事项
- STL_stack/queue
- Makefile经典教程(掌握这些足够)
- Java Web 集成RTX问题解决