可以用java.beans.XMLEncoder和java.beans.XMLDecoder来实现.前者实现对象转XML,后者实现从XML中读取对象.给你个例子:
import java.io.*;
import java.beans.*;
public class SaveMe {
private String[] names;
private int age;
private char sex;
public String[] getNames() {
return names;
}
public int getAge(){
return age;
}
public char getSex(){
return sex;
}
public void setNames(String[] newNames) {
names = newNames;
}
public void setAge(int newAge) {
age = newAge;
}
public void setSex(char newSex) {
sex = newSex;
}
public static void main(String[] args) throws FileNotFoundException {
SaveMe sm = new SaveMe();
sm.setNames( new String[]{"aaa","bbb","ccc"});
sm.setAge(25);
sm.setSex('m');
XMLEncoder encoder = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("c:/testxml.xml")));
encoder.writeObject(sm);
encoder.close();
XMLDecoder decoder = new XMLDecoder(
new BufferedInputStream(
new FileInputStream("c:/testxml.xml")));
SaveMe saveme = (SaveMe)decoder.readObject();
decoder.close();
String [] names = saveme.getNames();
int age = saveme.getAge();
char sex = saveme.getSex();
for (int i = 0;i < names.length;i++) {
System.out.println(names[i]);
}
System.out.println(age);
System.out.println(sex);
}
}
import java.io.*;
import java.beans.*;
public class SaveMe {
private String[] names;
private int age;
private char sex;
public String[] getNames() {
return names;
}
public int getAge(){
return age;
}
public char getSex(){
return sex;
}
public void setNames(String[] newNames) {
names = newNames;
}
public void setAge(int newAge) {
age = newAge;
}
public void setSex(char newSex) {
sex = newSex;
}
public static void main(String[] args) throws FileNotFoundException {
SaveMe sm = new SaveMe();
sm.setNames( new String[]{"aaa","bbb","ccc"});
sm.setAge(25);
sm.setSex('m');
XMLEncoder encoder = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("c:/testxml.xml")));
encoder.writeObject(sm);
encoder.close();
XMLDecoder decoder = new XMLDecoder(
new BufferedInputStream(
new FileInputStream("c:/testxml.xml")));
SaveMe saveme = (SaveMe)decoder.readObject();
decoder.close();
String [] names = saveme.getNames();
int age = saveme.getAge();
char sex = saveme.getSex();
for (int i = 0;i < names.length;i++) {
System.out.println(names[i]);
}
System.out.println(age);
System.out.println(sex);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货