美文网首页
Java学习10-OS使用

Java学习10-OS使用

作者: 持之以蘅 | 来源:发表于2019-06-23 16:12 被阅读0次
  • 即objectouputstream和objectinputstream的使用

ObjectOutputStream

  • 将Java对象基本数据类型和图形写入OutputStream
  • 读取(重构)对象
  • 只能将支持java.io.Serizable接口的对象写入流中
  • writeObject方法将对象写入流中
  • DataOuput中的适当方法将基本数据写入流中

ObjectInputStream

  • 对以前使用ObjectOuputStream写入的数据和对象进行反序列化

  • 只有支持java.io.Serializable或java.io.Externalizable接口的对象才能从流中读取

  • 定义一个学生类,主要用于后面的封装

package object;

import java.io.Serializable;

public class Student implements Serializable {
    private static final long serialVersionUID = -187877186941003078L;
    String name;
    int id;
    transient  int age;
    String department;
    public Student(String name, int id,int age,String department){
        this.age =age;
        this.department = department;
        this.id = id;
        this.name = name;
    }
    @Override
    public  String toString(){
        return "Student [name=" + name + ",id=" + id + ", age=" + age + ", department=" + department + " ]";

    }
}
package object;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.io.*;

public class Serializtion {
    public static void main(String[] args) throws IOException {
        Student s1 = new Student("张三", 1, 20, "数据结构");
        Student s2 = new Student("李四", 2, 19, "网络");

        List<Student> list = new ArrayList<Student>();
        list.add(s1);
        list.add(s2);


        FileOutputStream fout = new FileOutputStream("student2.txt");
        ObjectOutputStream out = new ObjectOutputStream(fout);
        out.writeObject(list);
        FileInputStream fin = new FileInputStream("student2.txt");
        ObjectInputStream in = new ObjectInputStream(fin);
        try {
            List<Student> l = (List<Student>) in.readObject();
            for (Student s : l) {
                System.out.println(s);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        out.close();
        in.close();
    }
}
  • 结果


    image.png

相关文章

  • Java学习10-OS使用

    即objectouputstream和objectinputstream的使用 ObjectOutputStrea...

  • 2018-06-12

    产品经理学习之路 1、原型工具的使用; 2、java框架学习使用;

  • java学习记录--ThreadLocal使用案例

    java学习记录--ThreadLocal使用案例 标签(空格分隔): java 本文借由并发环境下使用线程不安全...

  • 资料整理

    GIT git学习使用 Charles Charles 从入门到精通破解 Java 阿里云Java学习路线图从小白...

  • 2018-03-18java第一个作业

    使用java写出点 线 和 圆: 参考学习之后,使用Idea创立了第一次的java作业: 通过慕课网的 学习,知道...

  • 深入学习Java之ArrayList

    深入学习Java之ArrayList 前言 对于Java的容器类,虽然之前一直有在使用,不过使用归使用,很多的原理...

  • Java帮助文档的简单使用

    Java帮助文档的简单使用我们要学习java中的一些类,那么我们就要学习如何使用帮助文档,最后我会给大家上传帮助文...

  • Java Mina-2.0.16框架学习使用

    Java Mina框架学习使用 本文使用mina-2.0.16.jar Apache Mina Server 是一...

  • Java进阶

    注:采转归档,自己学习查询使用 Java进阶01 String类Java进阶02 异常处理Java进阶03 IO基...

  • Java IO小小的心得

    学习JAVA IO之前必须要先学习装饰模式 上面是Java中创建一个文件对象的语句,Java在IO库的设计中使用了...

网友评论

      本文标题:Java学习10-OS使用

      本文链接:https://www.haomeiwen.com/subject/kaniqctx.html