- 浏览: 376083 次
- 来自: 北京
文章分类
- 全部博客 (237)
- XML (6)
- JavaSE (39)
- Junit (1)
- Maven (10)
- JavaScript (12)
- JavaEE (16)
- HTML5 (10)
- java多线程 (8)
- Hibernate (30)
- Java反射 (3)
- Spring (11)
- Struts (1)
- svn (2)
- linux (12)
- 代码实例 (1)
- 设计模式 (1)
- UML (1)
- javassist (1)
- Oracle (3)
- Hibernate异常 (9)
- DWR (6)
- Java泛型 (2)
- SpringMVC (11)
- Dbunit (3)
- github (2)
- Algorithm (1)
- zTree (1)
- jquery (7)
- freemarker (4)
- mysql (5)
- ffmpeg (1)
- 编码 (1)
- lucene (15)
- hadoop (1)
- JVM (1)
- Regular Expressions (5)
- myeclipse (1)
- 爬虫 (7)
- 加密 (3)
- WebService (2)
- Socket (2)
- Windows (1)
最新评论
-
wxpsjm:
好直接
HV000030: No validator could be found for type: java.lang.Integer. -
wxhhbdx:
学习了,对新手来说很不错的教程。
SpringMVC入门 (二) 数值传递 -
xgcai:
正好在学dwr
DWR入门 (二)用户实例
package com.lj.serialize; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; public class SerializableTest1 { public static void main(String[] args) throws IOException, ClassNotFoundException { Person p1=new Person(25,"jack",5); Person p2=new Person(27,"mike",4); Person p3=new Person(50,"joe",4); FileOutputStream fos=new FileOutputStream("person.txt"); ObjectOutputStream oos=new ObjectOutputStream(fos); oos.writeObject(p1); oos.writeObject(p2); oos.writeObject(p3); oos.close(); System.out.println("=============="); FileInputStream fis=new FileInputStream("person.txt"); ObjectInputStream ois=new ObjectInputStream(fis); Person p=null; for(int i=0;i<3;i++){ p=(Person) ois.readObject(); System.out.println(p.name+" "+p.age); } } } class Person implements Serializable{ int age; String name; double height; public Person(int age, String name, double height) { this.age = age; this.name = name; this.height = height; } }
这里我们可以重写serializable接口里面的方法,来具体了解序列化数据的写入和读取的过程:
package com.lj.serialize; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; public class SerializableTest2 { public static void main(String[] args) throws IOException, ClassNotFoundException { Person2 p1=new Person2(25,"jack",5); Person2 p2=new Person2(27,"mike",4); Person2 p3=new Person2(50,"joe",4); FileOutputStream fos=new FileOutputStream("Person2.txt"); ObjectOutputStream oos=new ObjectOutputStream(fos); oos.writeObject(p1); oos.writeObject(p2); oos.writeObject(p3); oos.close(); System.out.println("=============="); FileInputStream fis=new FileInputStream("Person2.txt"); ObjectInputStream ois=new ObjectInputStream(fis); Person2 p=null; for(int i=0;i<3;i++){ p=(Person2) ois.readObject(); System.out.println(p.name+" "+p.age); } } } class Person2 implements Serializable{ int age; String name; double height; public Person2(int age, String name, double height) { this.age = age; this.name = name; this.height = height; } private void writeObject(ObjectOutputStream out) throws IOException{ out.writeInt(age); //out.writeChars(name); out.writeUTF(name); System.out.println("write object"); } private void readObject(ObjectInputStream in) throws IOException{ age=in.readInt(); name=in.readUTF(); System.out.println("read object"); } }
发表评论
-
Socket编程的HelloWorld实例
2014-11-07 15:05 900public class Client { ... -
ImageIO宋体出现小方框的解决
2014-11-03 16:34 927http://www.blogjava.net/yuanqix ... -
ArrayList根据条件+for循环批量删除的方法
2014-09-23 11:39 2722场景如下: ArrayList<Obj> list ... -
Java内部类的实例化
2014-08-06 15:51 1036class A{ getInstance(){ ... -
通过Thread.sleep把任务平均分配给线程按顺序执行的小例子
2014-07-22 10:46 1083package com.lj.test.JavaSe4; ... -
输入两个整数, 计算百分比
2014-07-21 18:01 1466public static String getPercen ... -
timer cancel方法的一个小实例
2014-07-21 12:14 1134package com.lj.timer; import ... -
通过Calendar获取上个月的最后一天
2014-06-26 12:11 2871Calendar cal=Calendar.getI ... -
通过BigInteger进行数字进制的相互转换
2014-06-24 11:09 25581. 十六进制转换为十进制 BigInteger deci ... -
[转]RSA实例
2014-06-18 17:27 911package com.lj.rsa; import j ... -
[转]sun.misc.BASE64Encoder找不到jar包的解决方法
2014-06-18 15:43 9421.右键项目-》属性-》java bulid path-》jr ... -
空Object转换String的陷阱
2014-06-17 15:45 806Object a=null; String b ... -
Java Convert Long to Date
2014-06-16 18:06 770问题: I have list with long value ... -
[转]JAVA中List&Set转换
2014-06-07 14:23 528JAVA中List&Set转换 list = new ... -
aes加密时的Illegal key size or default parameters
2014-06-06 14:21 4199KeyGenerator kgen = KeyGenerat ... -
String.replaceLast()
2014-06-03 16:02 1096http://stackoverflow.com/questi ... -
通过正则表达式来获取json数值
2014-05-23 11:39 13private String getJsonValue(Str ... -
java找不到或无法加载主类
2014-05-19 13:21 1283用CMD运行java +类名, 居然碰到这个问题。 编译是没有 ... -
Java转义字符笔记 |
2014-01-12 21:01 918数据库有一个关键字列-keyword,里面存放的关键字格式如下 ... -
char和int类型相互转换
2013-12-10 18:43 1376今天看到别人使用一个方法 ->String.indexO ...
相关推荐
### Java对象序列化标准知识点详解 #### 一、系统架构概览 **1.1 概览** Java 对象序列化是一种将Java对象的状态转换成字节流的过程,以便于在网络上传输或存储到磁盘上。Java序列化标准定义了一套规则来描述如何...
Java对象序列化是Java平台的一项重要特性,它允许将对象的状态转换为字节流,以便存储、传输或恢复。在本文中,我们将深入探讨关于Java对象序列化你可能不知道的五件事情,这些知识点对于理解和优化你的Java应用程序...
Java对象序列化是一种将Java对象转换为字节流的过程,以便可以存储在磁盘上、在网络上传输或在任何其他需要持久化数据的场景中使用。这个过程涉及到两个主要概念:序列化(Marshalling)和反序列化(Unmarshalling)...
【JAVA对象序列化保存为XML文件的工具类】 在Java编程中,对象序列化是一种将对象的状态转换为字节流的过程,以便可以存储或在网络上传输。而在反序列化时,这个字节流又可以恢复为原来的对象。Java提供了一个方便...
Java对象序列化是一种将对象转换为字节流的过程,以便可以将其存储在磁盘上,或者在网络中进行传输。这是Java平台提供的一种功能,允许程序员将任何Java对象持久化,即将其状态保存到磁盘,或者在网络中进行传输。...
Java对象序列化是Java平台提供的一种机制,允许将对象的状态转换为字节流,以便存储在磁盘上、通过网络传输或在不同时间点恢复。这个过程涉及到将一个复杂的Java对象模型转换为简单的二进制表示,使得数据可以在不同...
Java对象序列化是Java平台提供的一种将对象的状态转化为字节流,以便存储或者在网络中传输的技术。这个过程称为序列化,而将字节流恢复为原来的对象状态则称为反序列化。序列化对于数据持久化、网络通信以及跨进程...
Java对象序列化是Java开发中的一个重要概念,它允许我们将Java对象转换为字节流,以便存储、传输或在不同时间点恢复。以下是五个可能不为人知的关于Java对象序列化的知识点,这些知识点对于深入理解Java开发至关重要...
Java中的序列化机制有两种实现方式: 一种是实现Serializable接口 另一种是实现Externalizable接口 区别: 实现Serializable接口 1 系统自动储存必要的信息 2 Java内建支持,易于实现,只需实现该接口即可,无须任何...
前者代表对象输出流,具备`writeObject(Object obj)`方法,可以将对象序列化并写入到目标输出流;后者代表对象输入流,其`readObject()`方法能从输入流中读取字节流并反序列化为对象。 为了使一个Java对象能够被...
通过实现`Serializable`接口,一个Java对象就可以被序列化。这个接口是一个标记接口,没有定义任何方法,仅表示对象支持序列化。 二、为什么需要Java序列化 1. 持久化:序列化可以将对象状态持久化到磁盘,以便下次...
一、Java对象序列化与反序列化 1. **序列化**: 序列化是将Java对象转换为字节流的过程,以便于存储或传输。通过实现`java.io.Serializable`接口,一个Java对象可以获得序列化的能力。序列化不仅可以保存对象的状态...
Java的序列化与反序列化是Java开发中的一项重要技术,它允许我们将对象的状态转换为字节流,以便存储或在网络上传输。`Serializable`接口是Java提供的一个标记接口,用于实现对象的序列化。当一个类实现了这个接口,...
Java序列化是将Java对象转换为字节流的过程,以便可以存储在磁盘上或通过网络进行传输。这个过程对于持久化对象数据、跨进程通信和在网络上传输对象非常有用。在Java中,序列化是通过实现`Serializable`接口来完成的...
Java对象序列化是一种将Java对象转换为字节流的过程,以便可以存储或在网络上传输。这一过程至关重要,因为它允许我们持久化对象的状态,以便在稍后的时间点恢复这些对象。在Java中,对象序列化主要涉及到`...
下面是一个简单的序列化示例代码,展示了如何将一个`Box`对象序列化并存储到文件中,然后再从文件中读取出来: ```java package com.hotye.dchaoxiong.serializabletest; import java.io.FileInputStream; import ...
首先,要使一个Java对象能够被序列化,该类必须实现`Serializable`接口。这个接口没有任何方法,仅仅是一个标记接口,表明该类的对象可以被序列化。当一个类实现了这个接口,Java运行时系统就能够将其实例转换为字节...
XStream对象序列化是一种在Java应用程序中将Java对象转换为XML格式的过程,这主要通过XStream库实现。这个库提供了一种简洁的方式来处理对象到XML的转换,反之亦然,而不需要复杂的配置或对对象进行特定的修改。...
Java 序列化是 Java 系列技术中一个较为重要的技术点,用于将 Java 对象序列化为二进制文件。开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的...