每日一课 | 从Java中的文件读取对象

    科技2026-08-13  13

    在此示例中,您将学习如何从保存的文件中读取对象或如何反序列化序列化的文件。

    反序列化的过程与序列化非常相似,您需要使用ObjectInputStream读取文件的内容并将其转换回Java对象。 

    FileInputStream fin = new FileInputStream("c:\\temp\\address.ser"); ObjectInputStream ois = new ObjectInputStream(fin); address = (Address) ois.readObject();

    1.从文件读取对象

    此类将读取序列化文件c:\\temp\\address.ser (在本示例中创建),然后将其转换回“ Address”对象并打印出保存的值。

    ReadObject.java 

    package com.mkyong.io; import java.io.FileInputStream; import java.io.IOException; import java.io.ObjectInputStream; public class ReadObject {   public static void main(String args[]) {     ReadObject obj = new ReadObject();     Address address = obj.deserialzeAddress("c:\\temp\\address.ser");     System.out.println(address);   }   public Address deserialzeAddress(String filename) {     Address address = null;     FileInputStream fin = null;     ObjectInputStream ois = null;     try {       fin = new FileInputStream(filename);       ois = new ObjectInputStream(fin);       address = (Address) ois.readObject();     } catch (Exception ex) {       ex.printStackTrace();     } finally {       if (fin != null) {         try {           fin.close();         } catch (IOException e) {           e.printStackTrace();         }       }       if (ois != null) {         try {           ois.close();         } catch (IOException e) {           e.printStackTrace();         }       }     }     return address;   }   public Address deserialzeAddressJDK7(String filename) {     Address address = null;     try (ObjectInputStream ois       = new ObjectInputStream(new FileInputStream(filename))) {       address = (Address) ois.readObject();     } catch (Exception ex) {       ex.printStackTrace();     }     return address;   } }

    输出量 

    Street : wall street Country : united state

    参考文献:

    ObjectOutputStream JavaDoc

    Java对象序列化

    JDK 7中的try-with-resources示例

    翻译自: https://mkyong.com/java/how-to-read-an-object-from-file-in-java/

    推荐阅读--

    每日一课 | Java 中如何将 ArrayList 与 HashSet 互相转换?

    每日一课 | JavaScript基础

    每日一课 | JavaScript的事件

    每日一课 | JavaScript的内置对象

    球分享

    球点赞

    球在看

    Processed: 0.121, SQL: 9