java 对象输入输出流读写文件的操作实例

java 支持对对象的读写操作,所操作的对象必须实现Serializable接口。

实例代码:

package vo;

import java.io.Serializable;

public class Animal implements Serializable {

private static final long serialVersionUID = 1L;

private String name;

private Integer weight;

private String color;

private String type;

private Integer age;

private Integer lifetime;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getWeight() {

return weight;

}

public void setWeight(Integer weight) {

this.weight = weight;

}

public String getColor() {

return color;

}

public void setColor(String color) {

this.color = color;

}

public String getType() {

return type;

}

public void setType(String type) {

this.type = type;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public Integer getLifetime() {

return lifetime;

}

public void setLifetime(Integer lifetime) {

this.lifetime = lifetime;

}

public Animal(String name, Integer weight, String color, String type, Integer age, Integer lifetime) {

super();

this.name = name;

this.weight = weight;

this.color = color;

this.type = type;

this.age = age;

this.lifetime = lifetime;

}

@Override

public String toString() {

return "Animal [name=" + name + ", weight=" + weight + ", color=" + color + ", type=" + type + ", age=" + age + ", lifetime=" + lifetime + "]";

}

}

package objectstream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import vo.Animal;

public class TestObjectStream {

public static void main(String[] args) {

try {

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("d:/oos.dat")));

Animal a1 = new Animal("tiger", 120, "red", "cat", 12, 20);

Animal a2 = new Animal("eagle", 10, "gold", "bird", 6, 10);

oos.writeObject(a1);

oos.writeObject(a2);

oos.flush();

oos.close();

ObjectInputStream ois = new ObjectInputStream(new FileInputStream("d:/oos.dat"));

Animal ra1 = (Animal) ois.readObject();

System.out.println(ra1.toString());

Animal ra2 = (Animal) ois.readObject();

System.out.println(ra2.toString());

} catch (Exception e) {

e.printStackTrace();

}

}

}

输出结果:

Animal [name=tiger, weight=120, color=red, type=cat, age=12, lifetime=20]

Animal [name=eagle, weight=10, color=gold, type=bird, age=6, lifetime=10]

如有疑问请留言或者到本站社区交流讨论,本站关于java开发的文章还有很多,希望大家搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

java 对象读写_java 对象输入输出流读写文件的操作实例相关推荐

  1. c语言 文件流 输出数据类型,总结C++中输入输出流及文件流操作

    当程序员在编写程序的时候,最不可分割的是对文件做的相应的操作,总结C++中输入输出流及文件流操作大家都了解吗?想要了解的朋友,就随爱站技术频道小编来看看吧. 1.流的控制 iomanip        ...

  2. java用输入流创建数据文件_java开发知识IO知识之输入输出流以及文件

    java开发知识IO知识之输入输出流以及文件 一丶流概述 流十一组有序的数据序列.根据操作的类型,可以分为输入流跟输出流两种. IO(input/output)输入/输出流提供了一条通道程序.可以使用 ...

  3. Java基础知识每日总结(19)---Java输入输出流、文件、递归

    输入输出流.文件.递归 在变量.数组和对象中存储数据是暂时的,程序结束后它们则会丢失.为了能够永久地保存程序创建的数据,需要将其保存在磁盘文件中.这样以后就可以在其他程序中使用它们.Java的I/O技 ...

  4. Java中IO流,输入输出流概述与总结(转载自别先生文章)

    Java中IO流,输入输出流概述与总结 总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...

  5. 利用输入输出流及文件类编写一个程序,可以实现在屏幕显示文本文件的功能,类似DOS命令中的type命令

    利用输入输出流及文件类编写一个程序,可以实现在屏幕显示文本文件的功能,类似DOS命令中的type命令 package p1;import java.io.BufferedReader; import ...

  6. java写入dat文件_dat格式用什么播放器 如何在JAVA中进行文件的读写 I/O 输入输出流...

    3.RandomAccessFile的使用 4.I/O 输入输出流 1.创建File对象:File file=new File(String path);注意:File.seperater();获取系 ...

  7. java 字符流read函数,JAVA中文件的读写 I/O 输入输出流

    主要内容 1.编码问题 2.File类的使用 3.RandomAccessFile的使用 4.I/O 输入输出流 编码问题: 1 importjava.io.UnsupportedEncodingEx ...

  8. java c 流_java对象传输流C/S传输对象

    java对象传输流C/S传输对象 java中有一个对象输入输出流,它可以包装普通的字节流. 我用一个C/S模式来测试练习对象输入输出流. 创建对象输入输出流包装基本字节流时遇到了第一个问题: 服务器创 ...

  9. java实验七输入输出流_实验六_Java的输入输出流

    JAVA的输入输出流 实验六 Java的输入输出流 实验目的 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写.二进制文件读写 实验环境 JDK1.4以上版本, Eclipse集成开发环境 ...

最新文章

  1. 第十一届山东省大学生程序设计竞赛(热身赛)Mika with Cherry Cake
  2. 核心类生成-Mybatis Generator的使用
  3. 汇编语言基础知识摘要(《汇编语言》王爽)第 3 / 17 章
  4. 要你命3000-List29
  5. C++ 数据结构-图相关操作的算法思路
  6. 结合反向传播算法使用python实现神经网络的ReLU、Sigmoid、Affine、Softmax-with-Loss层
  7. django-前端上传图片190912
  8. devops对大会的看法_哪条建议对您在DevOps的职业生涯影响最大?
  9. ubuntu 14.04安装mysql数据库
  10. 鼠标锁定计算机全部硬盘,最牛B的清理磁盘方法,让你电脑开机贼拉快快
  11. 计算机程序设计员技能试题,计算机程序设计员试题及答案[1]
  12. SharePoint CAML In Action——Part II
  13. python的jira库操作
  14. js中使用jQuery读/写cookie的值
  15. 华为Java机试题__转载
  16. 如何从0到1搭建电商促销系统
  17. oracle导出辅助账明细,AO2011导入国库集中支付系统3.0的辅助账资料.doc
  18. 《音视频开发》系列-总览
  19. 10项目管理--项目沟通管理
  20. 基于python3.7 numpy scipy matplotlib sklearn的机器学习笔记5—监督学习之KNN、DT、NB算法简析

热门文章

  1. Git bash:初步入门(1)
  2. Win7如何设置多个IP地址
  3. 解救小易——网易笔试
  4. 科大星云诗社动态20210222
  5. [云炬商业计划书阅读分享] 养生保健
  6. 20天减10斤 2020-10-21
  7. Python, CPython, Pypy, Jython的简单介绍
  8. Python-TKinter布局之pack
  9. div的contentEnable属性
  10. Java Arrays.asList()方法详解