从自己的msn空间移动过来的..
一个简单不能在简单的例子
package dev.bean;
import java.beans.XMLEncoder;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.*;
import java.beans.XMLDecoder;
public class beanToFile {
public static void main(String[] args) {
beanToFile.wirteObjectFile("d:\\1.xml");
beanToFile.readObjectFile("d:\\1.xml");
}
/**
** 把一个对象记录到xml文件中
**/
public static void wirteObjectFile(String filename){
try {
Goo g = new Goo();
g.setId("111");
g.setName("2222");
XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream( ( (
OutputStream) (new FileOutputStream(filename)))));
encoder.setPersistenceDelegate(Goo.class, new GooDefaultPersistenceDelegate());
encoder.writeObject(g);
encoder.close();
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
/**
**从一个xml文件中读取出对象
**/
public static Object readObjectFile(String filename){
Object obj = null;
try {
XMLDecoder decoder = new XMLDecoder(new BufferedInputStream( ( (
InputStream) (new FileInputStream(filename)))));
obj = decoder.readObject();
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
return obj;
}
}
其中的GooDefaultPersistenceDelegate 是继承了DefaultPersistenceDelegate,在继承的方法里面的可以写上很多自己的方法,这个例子的GooDefaultPersistenceDelegate 并没有重写任何方法
有时间再修改一下
分享到:
相关推荐
Java中的XMLEncoder与XMLDecoder类就是进行XML格式序列化和反序列化的工具。此外,还有其他机制用于处理二进制和JSON格式数据。然而,无论是哪种格式,问题都在于数据转换为对象的这一过程中,如果数据可以由用户...
总结来说,`XMLEncoder`和`XMLDecoder`是Java中方便的工具,它们使得Java对象与XML之间的转换变得简单。然而,对于更复杂的场景,如需要处理复杂的XML结构或支持自定义的序列化规则,可能需要结合使用`JAXB`(Java ...
在Java编程语言中,`XMLDecoder`和`XMLEncoder`是用于对象序列化和反序列化的工具。这两个类属于`java.beans`包,主要用于将Java对象转换为XML格式的字符串,以及将XML数据恢复为Java对象。在给定的标题和描述中,...
`java.beans`包中的`XMLEncoder`和`XMLDecoder`就是为此目的设计的。 `XMLEncoder`是一个用于将Java对象编码为XML输出流的类,它能够将对象的属性和结构转换为XML格式。而`XMLDecoder`则相反,它可以解析XML输入流...
5. 实现与库:许多编程语言都提供了支持XML和SOAP二进制序列化的库或框架,例如.NET Framework的BinaryFormatter和XmlSerializer,Java的XMLEncoder和XMLDecoder,Python的pickle模块和xml.etree.ElementTree等。...
在Java中,`java.beans` 包提供了两个关键类来支持XML序列化和反序列化:`XMLEncoder` 和 `XMLDecoder`。`XMLEncoder` 负责将符合JavaBeans规范的Java对象转换为XML文档,而`XMLDecoder` 则负责将XML文档还原为原来...
与`ObjectOutputStream`不同,`XMLEncoder`提供了更易读的表示形式,适合数据交换和配置存储。创建`XMLEncoder`时需要提供一个输出流或者writer,然后调用`writeObject()`方法: ```java try (XMLEncoder encoder =...
自Java 1.4起,标准库中引入了`XMLEncoder`和`XMLDecoder`类,提供了一种简便的方法将对象序列化为XML文件或从XML文件反序列化对象。这一机制克服了序列化在元数据保留上的不足,使得对象信息在不同应用程序间更为...
- **序列化**:`XMLEncoder`和`XMLDecoder`可以将Bean对象序列化为XML,便于存储和传输。 综上所述,`openbeans.jar`为Android开发者提供了一种在平台上使用JavaBeans功能的方式,通过引入这个库,开发者可以充分...
例如,你可以使用XMLDecoder和XMLEncoder来处理XML消息。 4. **Filter Chain**:Mina的过滤器链模型允许你在数据传输过程中添加中间层,进行数据处理、日志记录、性能监控等。每个过滤器都可以选择修改或传递数据到...
6. **XML编码**:XMLDecoder和XMLEncoder允许开发者以XML格式序列化和反序列化Java对象。这对于数据交换和持久化存储来说是极其便利的,同时确保了与XML标准的兼容性。 7. **性能优化**:Apache Commons Codec 1.10...
在这个场景中,Swing是一个常见的选择,因为它与Java标准版(J2SE)兼容,并且提供了丰富的组件和功能来构建用户界面。Swing中的`JFrame`是窗口的基础,我们可以在这个框架上添加各种组件,如菜单、按钮和面板。 ...
7. **序列化和反序列化**:除了手动创建XML,Java还提供了`java.beans.XMLEncoder`和`java.beans.XMLDecoder`进行javabean的XML序列化和反序列化,但这通常只适用于标准的javabean,且不支持复杂的嵌套结构。...
在序列化/反序列化过程中,如 `java.beans.XMLEncoder` 和 `java.beans.XMLDecoder` 也是基于反射操作对象的属性。此外,单元测试工具如 JUnit 也会使用反射来调用私有方法进行测试。 然而,虽然反射带来了很大的...
6. **XMLEncoder** 和 **XMLDecoder**: 这两个类提供了一种将Java对象编码为XML格式,以及从XML解码回Java对象的方法。这在数据持久化或跨平台传输时非常有用。 在Android Studio中,由于Android系统本身不直接支持...
此外,Java标准库中的`java.beans.XMLEncoder`和`java.beans.XMLDecoder`也可以用来序列化和反序列化Java对象,但它们是针对XML的,而不是JSON。如果你需要处理JSON,还是要依赖第三方库。 总结起来,虽然Java反射...
XMLDecoder decoder = new XMLDecoder(new ByteArrayInputStream(xmlStr.getBytes())); return decoder.decode(clazz); } catch (DocumentException e) { throw new RuntimeException(e); } } public static ...
- 自动序列化和反序列化:如`java.beans.XMLEncoder`和`java.beans.XMLDecoder`。 - 框架设计:Spring框架中大量使用反射实现依赖注入。 - 元编程:允许在运行时检查和修改程序行为。 - 性能优化:反射可用于...
`java.io.ObjectOutputStream`和`java.io.ObjectInputStream`可以与`java.beans.XMLEncoder`和`java.beans.XMLDecoder`一起使用,实现对象和XML之间的转换。 在`tutorial-xml-master`压缩包中,可能包含各种示例...
- `java.beans.XMLEncoder`和`java.beans.XMLDecoder`提供了XML格式的序列化和反序列化,这对于跨平台数据交换和存储可能更有利。 - `java.util.prefs.Preferences`类提供了一种树型结构的键值对持久化,适合存储...