java:序列化Serializable 接口
2023-09-14 08:57:51 时间
java:序列化Serializable 接口
public class SerializePerson implements Serializable { private String name; private int age; public SerializePerson(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "姓名:" + name + ", 年龄:" + age; } }
一,单对象序列化
public static void main(String[] args) throws Exception, Exception { // TODO 自动生成的方法存根 if( args[0].equals("set") ) { setPseron(); }else if( args[0].equals("get") ) { getPseron(); }else{ System.out.println("抱歉,你什么都没有输入"); } System.out.println(args[0]); } public static void setPseron() throws Exception, IOException { File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"a.txt"); ObjectOutputStream oobs = null; oobs = new ObjectOutputStream( new FileOutputStream(file) ); oobs.writeObject(new SerializePerson("张三",22)); oobs.close(); } public static void getPseron() throws Exception, IOException { File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"a.txt"); ObjectInputStream oips = null; oips = new ObjectInputStream( new FileInputStream(file) ); Object obj = oips.readObject(); SerializePerson per = (SerializePerson) obj; System.out.println(per); }
二。多对象,多数组序列化
public static void main(String[] args) throws Exception, Exception { if(args[0].equals("set")) { setPerson(); }else if(args[0].equals("get")) { Object obj = getPerson(); SerializePerson per[] = (SerializePerson[]) obj; print(per); }else{ System.out.println("请输入一个操作"); } } public static void setPerson() throws Exception, IOException { File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"person.per"); ObjectOutputStream oopt = new ObjectOutputStream( new FileOutputStream(file) ); SerializePerson per[] = {new SerializePerson("张三",22), new SerializePerson("李四",44), new SerializePerson("王五",33)}; oopt.writeObject(per); oopt.close(); } public static Object getPerson() throws Exception, IOException { File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"person.per"); ObjectInputStream lis = null; lis = new ObjectInputStream( new FileInputStream(file) ); Object obj = null; obj = lis.readObject(); lis.close(); return obj; } public static void print(SerializePerson per[]) { for(SerializePerson p: per) { System.out.println(p); } }
相关文章
- java解析url的链接和参数_java根据url下载图片
- java sortedset用法_Java SortedSet headSet()用法及代码示例[通俗易懂]
- java转换字符串为时间_JAVA字符串转日期或日期转字符串
- java 删除目录下所有文件_Java删除文件、目录及目录下所有文件的方法实例
- Java枚举详解
- java 图书馆管理系统(面向接口编程)
- java高级工程师_一名Java高级工程师需要学什么?
- java集合框架05——ArrayList和LinkedList的区别
- java工具类——验证码(VerifyCode)[通俗易懂]
- java 唯一随机数_JAVA随机数
- 【说站】java接口如何使用默认方法
- 【说站】java Callable接口是什么
- Java中的枚举,这一篇全了,一些不为人知的干货
- Java接口是什么意思_JAVA接口
- java如何实现分页查询_java分页计算页数
- Java-Jsp的一些语法与指令
- Java – IDEA安装
- Java学习笔记之二十二解析接口在Java继承中的用法及实例分析详解编程语言
- 教你在Java接口中定义方法详解编程语言
- 查看java性能Linux下JStat工具深度分析Java性能(linuxjstat)
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- Java程序构建基于Redis的缓存系统(java用redis)
- 处理使用Java解决Redis过期处理问题(redisjava过期)
- 时间利用Java设置Redis键值对过期时间(redisjava过期)
- 在Linux环境下轻松搭建Java开发环境(linux下搭建java)
- Linux平台上C语言接口调用Java语言实现(linux c调java)
- java使用正则表达为数字添加千位符的简单方法