java Xstream在未完成时停止写入文件
我已经编写了一些代码来为以前写入sql的用户生成密码。然后我想将每个用户的用户名和密码写入xml。代码似乎运行良好,但在大约第200位用户时,它突然在xml标记的中途停止并结束,这非常奇怪。我正在使用Xstream作为我的库。Arraylist有大约215个用户
我试过StaxDriver和DomDriver。Stax驱动程序的结果与空的Xstream构造函数相同,但Dom更糟糕
XStream xstream = new XStream();
xstream.alias("Zakaznici", ListZakazniku.class);
try {
PrintWriter out = new PrintWriter("Zakaznici.xml");
out.write(xstream.toXML(ListZakazniku.zakaznici));
}catch (Exception e){
e.printStackTrace();
}
public class ListZakazniku {
public static ArrayList<Zakaznik> zakaznici = new ArrayList<>();
public ListZakazniku(){
zakaznici= new ArrayList<Zakaznik>();
}
public void setZakaznici(ArrayList<Zakaznik> zakaznik){
this.zakaznici.clear();
this.zakaznici = zakaznik;
}
public static ArrayList<Zakaznik> getZakaznici() {
return zakaznici;
}
public void add(Zakaznik elbow){
zakaznici.add(elbow);
}
Zakaznik是一个非常基本的对象,有用户名、密码、id
伤口就像
</Zakaznik>
<Zaka
我不知道它怎么了。我期待任何建议:)
# 1 楼答案
您的列表不应是静态的,还应稍微修改您的打印代码。这样的方法很管用:
输出:
不要忘记为每个带注释的类调用processAnnotations!(另外,您的Zakaznik不是一个内部静态类,我想就像上面的例子一样,这只是为了压缩完整的代码。)