其他流---对象处理流
时间:2022-07-22
本文章向大家介绍其他流---对象处理流,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
新学习内容
该流做的是对象持久化处理
java.io.Serializable
空接口,向jvm声明,实现了这个接口的对象即可被存储到文件中
transient
(译:暂时)
声明不存储到文件中的属性
ObjectInputStream和ObjectOutputStream
对象输入输出流
建立雇员对象:
package cn.hxh.io.other;
public class Employee implements java.io.Serializable {
private transient String name;
private double salary;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public Employee(String name, double salary) {
super();
this.name = name;
this.salary = salary;
}
public Employee() {
super();
}
}
进行读取写入完整代码
package cn.hxh.io.other;
import java.io.*;
import java.util.Arrays;
public class ObjectDemo01 {
public static void main(String[] args) throws IOException, ClassNotFoundException {
write("D:/aa/aa.txt");
read("D:/aa/aa.txt");
}
public static void read(String destPath) throws IOException, ClassNotFoundException {
File dest = new File(destPath);
ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(dest)));
Object obj = ois.readObject();
Employee emp = null;
if (obj instanceof Employee) emp = (Employee) obj;
System.out.println(emp.getName());
System.out.println(emp.getSalary());
System.out.println(emp.getClass());
obj = ois.readObject();
int[] i = null;
if (obj instanceof int[]) i = (int[]) obj;
System.out.println(Arrays.toString(i));
ois.close();
}
public static void write(String destPath) throws IOException {
Employee emp = new Employee("aaa", 10000);
File dest = new File(destPath);
ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(dest)));
oos.writeObject(emp);
int[] i = {1, 2, 3, 4, 5};
oos.writeObject(i);
oos.flush();
oos.close();
}
}
- JavaWeb21-基础加强(注解;代理;类加载器;泛型反射
- MySQL迁移文件的小问题(r8笔记第18天)
- SpringMVC学习第一天
- 最近的几个技术问题总结和答疑 (r8笔记第19天)
- Hibernate_day04总结
- Hibernate_day03总结
- 服务器进程异常的原因分析(第二篇)(r8笔记第16天)
- 最近处理的几个小问题_20160311 (r8笔记第35天)
- Hibernate_day02总结
- Hibernate_day01总结
- ADG备库批量查询失败的原因分析(r8笔记第33天)
- 通过外部表改进一个繁琐的大查询 (r8笔记第32天)
- 一个简单的bigfile tablespace无法扩展的案例处理 (r8笔记第31天)
- 测试环境的迁移式升级和数据整合(r8笔记第27天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 走进STL - heap,小树芽
- 走进STL - 序列式容器(常用篇)
- springmvc之RequestMapping中的请求方式
- 拥抱STL - union,天作之秀
- 拥抱STL -typename该怎么理解
- 走近STL - map,只愿一键对一值
- springmvc之使用servlet原生API作为参数
- 走近STL - 填上list删除的大坑
- springmvc之RequestMapping中的请求参数和请求头
- springmvc之RequestMapping结合@PathVariable使用
- springmvc之CookieValue注解
- springmvc之处理模型数据ModelAndView
- springmvc之异常处理ResponseStatusExceptionResolver
- Java矩阵快速幂实现
- 走近STL -- 你好,List