`
买萌大叔
  • 浏览: 7116 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java的Serializable功能

    博客分类:
  • java
阅读更多

可以将java对象序列化为文件,也可以将文件反序列化为java对象

原创不易,转载请注明出处:分享java的Serializable功能

DeserializeFile2Object.java

 

[java] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. package com.zuidaima.util;  
  2.   
  3. import java.io.FileInputStream;  
  4. import java.io.ObjectInputStream;  
  5.   
  6. /** 
  7.  * 反序列化文件到java对象 
  8.  *  
  9.  * @author javaniu 
  10.  *  
  11.  */  
  12. public class DeserializeFile2Object {  
  13.   
  14.     public static void main(String[] args) {  
  15.         Address address = deserialzeAddress();  
  16.         System.out.println(address);  
  17.     }  
  18.   
  19.     public static Address deserialzeAddress() {  
  20.   
  21.         Address address;  
  22.   
  23.         try {  
  24.   
  25.             FileInputStream fin = new FileInputStream("c:/address.ser");  
  26.             ObjectInputStream ois = new ObjectInputStream(fin);  
  27.             address = (Address) ois.readObject();  
  28.             ois.close();  
  29.   
  30.             return address;  
  31.   
  32.         } catch (Exception ex) {  
  33.             ex.printStackTrace();  
  34.             return null;  
  35.         }  
  36.     }  
  37.   
  38. }  
  39.   
  40.                       

 

 

SerializeObject2File.java

 

[java] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. package com.zuidaima.util;  
  2.   
  3. import java.io.FileOutputStream;  
  4. import java.io.ObjectOutputStream;  
  5.   
  6. /** 
  7.  * 序列化java对象到文件 
  8.  *  
  9.  * @author javaniu 
  10.  *  
  11.  */  
  12. public class SerializeObject2File {  
  13.   
  14.     public static void main(String args[]) {  
  15.         serializeAddress("北京朝阳区""中国");  
  16.     }  
  17.   
  18.     public static void serializeAddress(String street, String country) {  
  19.   
  20.         Address address = new Address();  
  21.         address.setStreet(street);  
  22.         address.setCountry(country);  
  23.   
  24.         try {  
  25.   
  26.             FileOutputStream fout = new FileOutputStream("c:\\address.ser");  
  27.             ObjectOutputStream oos = new ObjectOutputStream(fout);  
  28.             oos.writeObject(address);  
  29.             oos.close();  
  30.             System.out.println("Done");  
  31.   
  32.         } catch (Exception ex) {  
  33.             ex.printStackTrace();  
  34.         }  
  35.     }  
  36.   
  37. }  
  38.   
  39.                       
分享到:
评论

相关推荐

    java.io.Serializable序列化问题

    ### Java.io.Serializable 序列化...通过实现 `Serializable` 接口或 `Externalizable` 接口,可以轻松地实现序列化和反序列化功能。需要注意的是,在实际应用中还需要考虑序列化的效率、安全性以及版本兼容性等问题。

    java序列化(Serializable)的作用和反序列化.doc

    ### Java序列化(Serializable)的作用与反序列化详解 #### 一、序列化的概念 序列化是指将程序中的对象转换为一系列字节流的过程,主要用于保存对象的状态或在网络之间传输对象。序列化的主要目的是为了能够持久化...

    Java 串行化(序列化)Serializable/Externalizable

    在 serializable-prj 项目中,可能包含了各种示例代码,展示了如何在Java中实现和使用序列化功能。 综上所述,Java的序列化和外部化是实现对象持久化和跨进程通信的关键技术。理解并熟练掌握这些概念,能够帮助...

    基于java实现模仿qq的界面和功能

    6. **序列化与反序列化**:为了在网络上传输对象,如用户信息、消息等,Java的序列化机制(Serializable接口)是必不可少的。它能将对象转换为字节流,便于在网络中传输,到达目的地后再反序列化回对象。 7. **数据...

    java注册功能

    在Java中,为了使一个类可以被序列化(即对象的状态能够被转换成字节流以便存储或传输),该类需要实现`Serializable`接口。在本例中的`Xuesheng`类实现了`Serializable`接口。 #### 示例代码: ```java import ...

    Java序列化(Serializable)与反序列化_.docx

    Java提供了内置的支持来实现序列化功能,这种支持主要体现在`Serializable`接口上。 #### 重要性及应用场景 序列化的重要性在于它能够帮助开发者解决以下问题: 1. **持久化存储**:将对象的状态存储到磁盘文件中...

    bundle传递基本数据,Parcelable类型数据,Serializable类型数据

    Serializable是Java自带的一种序列化机制,适用于复杂对象的传递。`Bundle`同样支持Serializable对象的传递,只需使用`putSerializable()`和`getSerializable()`。 假设有一个名为`MySerializable`的类实现了...

    JAVA聊天程序,功能很强大,希望对你有一定帮助

    Java的Serializable接口标记对象可被序列化,ObjectOutputStream和ObjectInputStream用于实现序列化和反序列化。 五、IO与NIO Java的I/O(Input/Output)库提供了一系列类用于读写文件和网络数据。在聊天程序中,...

    java版仿QQ即时通讯系统

    Java的Serializable接口提供了这个功能,使得对象可以转换为字节流在网络上传输,到达目的地后再还原为原来的对象。 4. **设计模式**:为了实现系统的可扩展性和可维护性,开发者可能会采用如工厂模式来创建Socket...

    java QQ 简单聊天功能

    通过实现`Serializable`接口,可以将对象转换为字节流,再在网络上传输和在另一端还原。 6. **消息协议设计**:在实现聊天功能时,需要定义一套简单的消息协议,例如,消息类型(文本、图片等)、消息内容、发送者...

    java笔记java笔记java笔记

    `java.net`包提供了网络通信的基本功能。 - **URL类**:表示统一资源定位符,用于指定网络资源的位置。 - **Socket编程**:包括客户端Socket和服务器端ServerSocket,实现网络间的通信。 - **HTTP协议**:通过`...

    用java开发的QQ

    Java提供了Serializable接口和ObjectInputStream/ObjectOutputStream类。 5. **数据结构与算法**:可能涉及到好友关系的管理,如用HashMap存储用户信息,用TreeSet保持好友列表的排序。 6. **设计模式**:单例模式...

    JAVA常用API文档 中文完整版.zip

    8. **日期时间**:Java 8引入了新的日期和时间API(java.time包),包括LocalDate、LocalTime、LocalDateTime等类,提供了更直观和强大的日期时间处理功能。 9. **国际化与本地化**:java.util.Locale和...

    daim_java_flexsim_

    6. **序列化与反序列化**:在Java和Flexsim之间交换数据时,可能需要将对象序列化成字节流,然后在另一端反序列化恢复,这涉及到Java的Serializable接口和ObjectInputStream/ObjectOutputStream类。 7. **异常处理*...

    局域网广播系统java源码

    Java的`java.io.Serializable`接口和`ObjectOutputStream`、`ObjectInputStream`类可以实现这一功能。同时,对于简单的文本或二进制数据,`DataOutputStream`和`DataInputStream`可能会更合适。 4. **用户界面**:...

    java写的简易QQ聊天

    Java提供了`Serializable`接口和`ObjectInputStream/ObjectOutputStream`等类来支持这一过程。 6. **消息格式设计**:为了让客户端和服务器能正确解析消息,开发者需要定义一套消息格式,可能包含消息类型(如文本...

    java-异样记事本

    Java提供了Serializable接口,可以将对象转化为字节流进行存储或网络传输。 6. **多线程**: 如果记事本应用有复杂的后台处理任务,比如大文件加载或搜索,使用多线程能提高用户体验。Java的Thread类和...

    java 聊天室之 传送图片文字等功能的实现

    Java提供了Serializable接口,可以将对象转换为字节流,然后在另一端反序列化回原来的对象。 4. **IO流**:在Java中,输入输出流(InputStream和OutputStream)用于读写数据。在聊天室中,我们可能需要使用...

    java版QQ聊天室

    为了实现消息的序列化和反序列化,Java的序列化API(java.io.Serializable)可能会被用到,这使得对象可以在网络间传递。另外,JSON或XML格式也可能用于数据交换,因为它们具有良好的可读性和广泛的兼容性。 最后,...

Global site tag (gtag.js) - Google Analytics