当前位置: 首页 > 编程笔记 >

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

孙志
2023-03-14
本文向大家介绍java 对象输入输出流读写文件的操作实例,包括了java 对象输入输出流读写文件的操作实例的使用技巧和注意事项,需要的朋友参考一下

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开发的文章还有很多,希望大家搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍C++中输入输出流及文件流操作总结,包括了C++中输入输出流及文件流操作总结的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C++中输入输出流及文件流操作笔记,供大家参考,具体内容如下 1、流的控制     iomanip          在使用格式化I/O时应包含此头文件。     stdiostream   用于混合使用C和C + +的I/O机制时,例如想将C程序

  • 问题内容: 所以我在bash上运行它: 该命令的作用是一直保持运行状态,并且每当我的设备发送某个数据时,例如说它检测到温度变化,它就会输出类似的内容 而且这只会继续运行,并且一旦有任何原因就会输出一些东西。因此,执行无止境。 没有回声运行完美,但是当我尝试使用’>’运算符时,这似乎没有写入文件。 例如 这不能正常工作,my_record_file只获取 间隔 写入的数据,但是我想立即写入。 有任何

  • 本小节将会介绍基本输入输出的 Java 标准类,通过本小节的学习,你将了解到什么是输入和输入,什么是流;输入输出流的应用场景,File类的使用,什么是文件,Java 提供的输入输出流相关 API 等内容。 1. 什么是输入和输出(I / O) 1.1 基本概念 输入/输出这个概念,对于计算机相关专业的同学并不陌生,在计算中,输入/输出(Input / Output,缩写为 I / O)是信息处理系

  • 本文向大家介绍JAVA输出流与输入流代码实例,包括了JAVA输出流与输入流代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了JAVA输出流与输入流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 输出流 编程入门的第一个程序,输出一串字符串 输入流 输入流需要引用包的概念,包里面存放的是类。输入流需要实例化InputStr

  • 本章和第11章介绍C++的面向对象式的输入,输出。但我们的例子主要考虑传统数据类型的I/O而不是用户自定义类对象的I/O。第8章介绍了如何用运算符重载输入与输出类对象。 我们通过对相应的istream重载流读取运算符>>进行对象输入,通过对相应的ostream重载流插入运算符<<进行对象输出。两种情况下都只输入和输出对象的数据成员,而且都是对特定的抽象数据类型对象有意义的方式进行。对象成员函数在计

  • 我想用java代码调用一个外部程序,然后Google告诉我Runtime或ProcessBuilder可以帮助我完成这项工作。我试过了,结果发现java程序无法退出,这意味着子进程和父进程都将永远等待。它们要么挂起,要么陷入僵局。 有人告诉我原因是子进程的缓存太小了。当它试图将数据返回给父进程时,但是父进程没有及时读取它,然后他们两个都挂起了。所以他们建议我叉一个线程来负责读取子进程的缓存数据。我