zoukankan      html  css  js  c++  java
  • Java 输入/输出——处理流(ObjectIO)

      Object流:直接将Object流写入或读出。

    • TestObjectIO.java
    • transient关键字(英文名:透明的,可以用来修饰成员变量(实例变量),transient修饰的成员变量(实例变量)在serializable序列化时不予考虑)
    • serializable接口(可以被序列化,属于标记性接口,里面没有定义方法,打标机给编译器看,编译器看到了则认为该类可以被序列化)
    • externalizable接口
     1 package com.zyjhandsome.io;
     2 
     3 import java.io.*;
     4 
     5 public class TestObjectIO {
     6 
     7     public static void main(String[] args) {
     8         // TODO Auto-generated method stub
     9         T t = new T();
    10         t.k = 8;
    11 
    12         try {
    13             FileOutputStream fos = new FileOutputStream("D:\zhaoyingjun\else\Test\TestObjectIO.log");
    14             ObjectOutputStream oos = new ObjectOutputStream(fos);
    15             oos.writeObject(t);
    16             oos.flush();
    17             oos.close();
    18             
    19             FileInputStream fis = new FileInputStream("D:\zhaoyingjun\else\Test\TestObjectIO.log");
    20             ObjectInputStream ois = new ObjectInputStream(fis);
    21             try {
    22                 T tReaded = (T)ois.readObject();
    23                 System.out.println(tReaded.i + " + " + tReaded.j + " + " + tReaded.d + " + " + tReaded.k + " = ");
    24                 System.out.println(tReaded.i + tReaded.j + tReaded.d + tReaded.k);
    25                 
    26             } catch (ClassNotFoundException e) {
    27                 // TODO Auto-generated catch block
    28                 e.printStackTrace();
    29             }            
    30         } catch (IOException e) {
    31             // TODO Auto-generated catch block
    32             e.printStackTrace();
    33         }        
    34     }
    35 }
    36 
    37 class T implements Serializable
    38 {
    39     int i = 10;
    40     int j = 9;
    41     double d = 2.3;
    42     int k = 15;
    43 }

      输出结果:

    1 10 + 9 + 2.3 + 8 = 
    2 29.3

      结合transient关键字使用:

     1 package com.zyjhandsome.io;
     2 
     3 import java.io.*;
     4 
     5 public class TestObjectIO {
     6 
     7     public static void main(String[] args) {
     8         // TODO Auto-generated method stub
     9         T t = new T();
    10         t.k = 8;
    11 
    12         try {
    13             FileOutputStream fos = new FileOutputStream("D:\zhaoyingjun\else\Test\TestObjectIO.log");
    14             ObjectOutputStream oos = new ObjectOutputStream(fos);
    15             oos.writeObject(t);
    16             oos.flush();
    17             oos.close();
    18             
    19             FileInputStream fis = new FileInputStream("D:\zhaoyingjun\else\Test\TestObjectIO.log");
    20             ObjectInputStream ois = new ObjectInputStream(fis);
    21             try {
    22                 T tReaded = (T)ois.readObject();
    23                 System.out.println(tReaded.i + " + " + tReaded.j + " + " + tReaded.d + " + " + tReaded.k + " = ");
    24                 System.out.println(tReaded.i + tReaded.j + tReaded.d + tReaded.k);
    25                 
    26             } catch (ClassNotFoundException e) {
    27                 // TODO Auto-generated catch block
    28                 e.printStackTrace();
    29             }            
    30         } catch (IOException e) {
    31             // TODO Auto-generated catch block
    32             e.printStackTrace();
    33         }        
    34     }
    35 }
    36 
    37 class T implements Serializable
    38 {
    39     int i = 10;
    40     int j = 9;
    41     double d = 2.3;
    42     transient int k = 15;
    43 }

      输出结果:

    1 10 + 9 + 2.3 + 0 = 
    2 21.3

      

  • 相关阅读:
    Chapter 2 Open Book——14
    数据结构和算法[精选]----说明一下这个分类之后的作用
    Chapter 2 Open Book——13
    Chapter 2 Open Book——12
    myeclipse中打开java文件中文乱码
    div+css与table布局
    docker入门实战笔记
    docker常用命令
    ignite学习笔记
    java代码如何发送QQ邮件
  • 原文地址:https://www.cnblogs.com/zyjhandsome/p/9698537.html
Copyright © 2011-2022 走看看