this.registeredTime = registeredTime;
}
}
3 。编写功能实现类
package com.switcher;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.entity.User;
import com.thoughtworks.xstream.XStream;
/**
*
* 使用 XStream不用任何映射就能实现多数 Java 对象的序列化 。
* 在生成的 XML中对象名变成了元素名,类中的字符串组成了 XML中的元素内容 。
* 使用 XStream 序列化的类不需要实现 Serializable 接口 。
* XStream 是一种序列化工具而不是数据绑定工具
* 不能从XML 或者 XML Schema Definition (XSD) 文件生成类 。
*/
public class SwitchXML {
/*
* XStream 不关心序列化/逆序列化的类的字段的可见性 。
* 序列化/逆序列化类的字段不需要 getter 和 setter 方法 。
* 序列化/逆序列化的类不需要有默认构造函数 。
*/
private XStream xStream = new XStream();
private String xmlPath = "D:/userdata.xml";
// 1. obj - xml(object类型转换为xml类型)
public String printXML(User user) {
System.out.println("obj - xml");
String xml = xStream.toXML(user);
System.out.println(xml);
return xml;
}
// 2. xml-obj(xml类型转换为object类型,并打印)
public void printObj(String xml) {
System.out.println("xml - obj");
User u = (User) xStream.fromXML(xml);
System.out.println(u.getUserName() + " " + u.getPassWord() + " " + u.getRegisteredTime());
}
// 3. 将object类型转换为xml类型,并写入XML文件(其他格式也可以,比如txt文件)
public void writerXML(User user) {
try {
FileOutputStream fs = new FileOutputStream(xmlPath);
xStream.toXML(user, fs);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
// 4. 读取XML文件,加载进相应Object类型
public void readerXML() {
User user = new User();
FileInputStream fis = null;
try {
fis = new FileInputStream(xmlPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
xStream.fromXML(fis, user);
// 打印对象信息
System.out.println(user.toString());
// 打印对象的属性值
System.out.println(user.getUserName() + "-" + user.getPassWord() + "-"
+ user.getRegisteredTime());
}
public static void main(String[] args) {
// 用户名
String username = "admin";
// 密码
String password = "admin";
// 注册时间
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
String registeredtime = format.format(now);
User user = new User(username, password, registeredtime);
SwitchXML switchXML = new SwitchXML();
// 1. object类型转换为xml类型,在控制台打印
String xml = switchXML.printXML(user);
System.out.println("---------------------");
// 2. xml类型转换为object类型,在控制台打印
switchXML.printObj(xml);
System.out.println("---------------------");
// 3. 将object类型转换为xml类型,并写入XML文件
switchXML.writerXML(user);
System.out.println("---------------------");
// 4. 读取XML文件,加载进相应Object类型
switchXML.readerXML();
}
}
如何用java生成一个XML文件,并且将该文件压package com.test.io;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class CreateXmlFile {
private static final String XML_TITLE = "?xml version=\"1.0\" encoding=\"utf-8\"?";
private static final String FILE_PATH = "d:";
推荐阅读
- 新媒体渠道如何使用微信,如何利用新媒体赚钱
- 鸿蒙系统最新一批升级,最新升级鸿蒙系统名单
- JAVA里代码同步执行 java 同步
- 怎么查看双系统分区硬盘,怎么查看双系统分区硬盘信息
- 苹果手机安卓手机网速,苹果和安卓哪个网速快
- linuxoracle导出表数据库,linux导出oracle表结构
- vb.net重新定义数组 vba重新定义
- 升级下载软件推荐安卓,安卓手机怎么设置下载软件需要密码
- 开机怎么选择硬盘启动,电脑开机怎么选择硬盘启动