将序列化的对象(多个对象,一个一个的保存,不是放到数组中一次性保存)保存到xml文件中,读取时
XMLDecoder decoder = new XMLDecoder(fis);
Object use= null;
try {
while((use=decoder.readObject())!=null){
System.out.println(((User)decoder.readObject()).getUsername());
//userList.add(use);
}
}
着色那一句](use=decoder.readObject())!=null会因为读取最后一个是空的而出现异常,该怎样解决
XMLDecoder decoder = new XMLDecoder(fis);
Object use= null;
try {
while((use=decoder.readObject())!=null){
System.out.println(((User)decoder.readObject()).getUsername());
//userList.add(use);
}
}
着色那一句](use=decoder.readObject())!=null会因为读取最后一个是空的而出现异常,该怎样解决
解决方案 »
- 急!freemark中遍历Set
- 求MyEclips打开html页面报错的解决方法
- SSH整合后项目启动异常(好像是包的问题)
- 如何使用java实现RBAC
- 发布项目OrderTickets到tomcat提示成功 但是在tomcat 管理页(http://localhost:8080/manager/html)找不到项目该项目?? 帮我看一下log4j包的是什么错?
- Myeclipse hibenate org.hibernate.MappingException: entity class not found
- 200分求 一套 JSF+Spring+Hibernate的仓库系统
- Hibernate DAO 类如何执行:select SC_PRODUCTION_IDX.nextval from dual
- ejb的部署问题
- jsp页面乱码问题,在IE和eclipse的内置浏览器乱码,在火狐和UC等其他浏览器正常
- 想请教使用snmp4j做服务器监控一些经验
- 正则表达式
package com.tur.demo;import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class BeanToXml {
public static User createUser() {
User user = new User("Biao", "Passw0rd");
user.getValues().add("One");
user.getValues().add("Two");
user.getValues().add("Three"); user.getCodes()[0] = 0;
user.getCodes()[1] = 1;
user.getCodes()[2] = 2;
user.getCodes()[3] = 3; return user;
} public static void toXml() {
User user = createUser(); Message message = new Message();
message.setType("User");
message.setContent(user); XStream xstream = new XStream();
xstream.alias("Message", Message.class);
xstream.alias("User", User.class); // 别名,输出的时候是User,而不是com.tur.demo.User System.out.println(xstream.toXML(message));
} public static void fromXml() {
XStream xstream = new XStream();
xstream.alias("User", User.class);
xstream.alias("Message", Message.class); Message message = (Message) xstream.fromXML(ClassLoader.getSystemResource("data.txt"));
User user = (User) message.getContent();
System.out.println(user);
} public static void toJson() {
User user = createUser();
XStream xstream = new XStream(new JettisonMappedXmlDriver());
xstream.setMode(XStream.NO_REFERENCES);
xstream.alias("User", User.class); System.out.println(xstream.toXML(user));
} public static void fromJson() { } public static void main(String[] args) {
toXml();
fromXml(); toJson();
}
}class Message {
private String type;
private Object content; String getType() {
return type;
} void setType(String type) {
this.type = type;
} Object getContent() {
return content;
} void setContent(Object content) {
this.content = content;
}
}class User {
private String username;
private String password;
private List<String> values;
private int[] codes; public User() {
this("", "");
} public User(String username, String password) {
this.username = username;
this.password = password;
this.values = new ArrayList<String>();
this.codes = new int[5];
} String getUsername() {
return username;
} void setUsername(String username) {
this.username = username;
} String getPassword() {
return password;
} void setPassword(String password) {
this.password = password;
} List<String> getValues() {
return values;
} void setValues(List<String> values) {
this.values = values;
} int[] getCodes() {
return codes;
} void setCodes(int[] codes) {
this.codes = codes;
} @Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
", values=" + values +
", codes=" + Arrays.toString(codes) +
'}';
}
}