`
ccbobocat
  • 浏览: 20287 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[导入]Serialization(序列化) 示例

阅读更多
/*



下面的程序说明了怎样实现对象序列化和反序列化。它由实例化一个MyClass类的对象开始。该对象有三个实例变量,它们的类型分别是String,int和double。这是我们希望存储和恢复的信息。

FileOutputStream被创建,引用了一个名为“serial”的文件。为该文件流创建一个ObjectOutputStream。ObjectOutputStream 的writeObject( )方法用来序列化对象。对象的输出流被刷新和关闭。

然后,引用名为“serial”的文件创建一个FileInputStream类并为该文件创建一个ObjectInputStream类。ObjectInputStream 的readObject( )方法用来反序列化对象。然后对象输入流被关闭。

注意MyClass被定义成实现Serializable接口。如果不这样做,将会引发一个NotSerializableException异常。试图做一些把MyClass实例变量声明成transient的实验。那些数据在序列化过程中不被保存



*/



import java.io.*;class MyClass implements Serializable{ String s; int i; double d; public MyClass (String s,int i,double d){  this.s = s;  this.i = i;  this.d = d; } public String toString(){  return "s=" + s + "; i=" + i + "; d=" + d; }}class SerializationDemo{ public static void main(String[] args){  //Object serialization.  try{   MyClass object1 = new MyClass("Evan",9,9.9e10);   System.out.println("object1 : " +object1);   FileOutputStream fos = new FileOutputStream("serial");   ObjectOutputStream oos = new ObjectOutputStream(fos);   oos.writeObject(object1);   oos.flush();   oos.close();  }catch(Exception e){   System.out.println("Exception during serialization :" + e);   System.exit(0);  }  //Object deserialization.  try{   MyClass object2 ;   FileInputStream fis = new FileInputStream("serial");   ObjectInputStream ois = new ObjectInputStream(fis);   object2 = (MyClass)ois.readObject();   ois.close();   System.out.println("object2 : " +object2);  }catch(Exception e){   System.out.println("Exception during serialization :" + e);   System.exit(0);  } }}
























文章来源:http://blog.163.com/ccbobo_cat/blog/static/320994622009616101541196



分享到:
评论

相关推荐

    java 常用序列化和反序列化框架使用demo

    本篇将介绍几个常用的Java序列化和反序列化框架,并通过示例代码进行演示。 1. **Java标准序列化**: Java标准序列化通过实现`Serializable`接口来标记类可序列化。要序列化一个对象,可以使用`ObjectOutputStream...

    XmlSerializer序列和反序列化Demo

    在C#中,`System.Xml.Serialization`命名空间提供了`XmlSerializer`类,它是实现XML序列化和反序列化的关键工具。序列化过程通常涉及以下几个步骤: 1. **创建Serializer实例**:首先,我们需要创建一个`...

    PyPI 官网下载 | oslo.serialization-2.2.0.tar.gz

    `oslo.serialization` 是一个在PyPI上发布的Python库,它专注于数据序列化和反序列化功能。这个2.2.0版本的压缩包`oslo.serialization-2.2.0.tar.gz`包含了该库的源代码,供开发者使用。 **oslo.serialization 概述...

    使用Xaml.XamlServices序列化或反序列化DependencyObject

    - 当反序列化时,确保类定义与XAML中的类名匹配,并且所有必要的命名空间已经正确导入。 - XAML Services并不支持所有的WPF特定功能,如样式、模板或资源字典。对于这些更复杂的情况,可能需要使用`XamlReader....

    minimal_serialization:为 Dart 结构类型对象生成简单序列化代码的转换器

    4. **集成到项目中**:将生成的代码导入到你的项目中,然后在需要的地方使用生成的序列化和反序列化方法。 从`minimal_serialization-master`这个压缩包中,我们可以期待找到以下内容: - `lib`目录:包含`minimal...

    导入导出文件

    在上述XML序列化示例中,反序列化的代码如下: ```csharp MyData deserializedData; using (FileStream stream = new FileStream(filePath, FileMode.Open)) { deserializedData = (MyData)serializer.Deserialize...

    MessagePack使用方法

    - **自定义序列化**:对于复杂的对象结构,可以实现`MessagePack.Serialization.IMessagePackSerializationCallbackReceiver`接口来自定义序列化和反序列化的行为。 4. **UnityDemo详解** - **创建MessagePack...

    Python pickle模块实现对象序列化

    序列化(Serialization)是将对象状态转换为可保存或传输的格式的过程,反序列化(Deserialization)是序列化过程的逆操作,即将字节流恢复为对象的过程。序列化主要有两个作用:数据存储和网络传输。这样,复杂的...

    drf-action-serializer:Django Rest框架的序列化器,支持字段的每个操作序列化

    然后在你的DRF项目中导入并使用它,按照`README.md`中的指示配置和定制你的序列化器。 总之,`drf-action-serializer`是DRF生态系统中的一个重要补充,它增强了对字段操作的控制,提高了API设计的灵活性和可维护性...

    json和java互转完整项目demo(jackson)

    - **序列化(Serialization)**: 将Java对象转换为JSON字符串,这通常通过`ObjectMapper.writeValueAsString()`方法实现。 - **反序列化(Deserialization)**: 将JSON字符串转换回Java对象,可以使用`...

    php_ser.zip_php _ser

    "php _ser" 可能指的是 PHP 中的一个序列化(Serialization)功能或者自定义的库,用于处理数据的序列化和反序列化操作。 【描述】"dephi fila esociation for architecture development" 这个描述似乎存在拼写错误...

    JDF.jl:Julia DataFrames序列化格式

    序列化是将数据结构或对象转换为可存储或传输格式的过程,而反序列化则是相反的过程,即将数据恢复到其原始形式。`JDF.jl` 旨在成为 Julia 中用于 DataFrame 对象的理想序列化工具,与广泛使用的 pandas 的 `....

    IOS应用源码——JSon.zip

    3. **序列化(Serialization)**:将数据模型转换为JSON字符串。例如,用Objective-C可以这样操作: ```objc NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary options:0...

    A C++ library for interacting with JSON..zip

    4. **序列化(Serialization)**:将JSON对象转换回字符串,以便在网络上传输或写入文件。序列化过程通常可以设置缩进和换行符,以生成易读的JSON格式。 5. **反序列化(Deserialization)**:从JSON字符串重建JSON...

    Go语言中的JSON处理大师:encodingjson包全解析

    - **序列化(Serialization)**:将Go语言中的结构体转换为JSON格式的字符串。 - **反序列化(Deserialization)**:将JSON格式的字符串转换回Go语言中的结构体。 #### 使用`encoding/json`包进行序列化和反序列化 ...

    Python库 | kwikapi_django-0.2-py3-none-any.whl

    - **序列化(Serialization)**: 序列化是将Python对象转换为JSON或其他格式,以便于在网络上传输。`kwikapi_django`提供了序列化功能,使数据适应API的输出格式。 - **反序列化(Deserialization)**: 反序列化则...

    swift-Jay-纯Swift的JSON解析器和格式化程序

    5. **自定义编码解码**: 用户可以为自定义类型实现`Decodable`和`Encodable`协议,以实现自定义的JSON解析和序列化逻辑。 6. **可扩展性**: `Jay`的设计允许开发者添加自定义的解析规则,以适应特定的JSON格式需求...

    3D Unity Adventure游戏的 基本示例代码_C#_代码_下载

    - **Serialization**:将游戏数据序列化为文件,以便于保存和读取玩家的进度。 10. **调试工具**: - **Profiler**:Unity内置的Profiler工具可以帮助开发者优化性能,检测内存泄漏和CPU使用情况。 以上就是3D ...

    json数据必导的夹包

    1. **序列化(Serialization)**:将Python对象转换为JSON字符串。例如,你可以使用`json.dumps()`函数将字典、列表、元组等Python数据结构转化为JSON格式的字符串。这在发送HTTP请求或保存数据时非常有用。 ```...

    C#实现excel转json[工具+源码]

    C#提供了丰富的类库来处理文件读写,如`System.IO`命名空间下的`StreamReader`和`StreamWriter`,以及用于序列化的`System.Runtime.Serialization.Json`命名空间。数据序列化是将对象转换为可传输或存储的格式的过程...

Global site tag (gtag.js) - Google Analytics