附加到现有的xml文件

时间:2012-07-13 06:20:55

标签: java xml append

我创建了一个在xml文件中写入我的信息的方法

Element performances = new Element("performances");
Document doc = new Document(performances);

performances.setAttribute(new Attribute("date", dateFormat.format(cal.getTime())));

//Uptime
                Element uptime = new Element("uptime");
                uptime.addContent(new Element("days").setText(new Long(duptime).toString()));
                uptime.addContent(new Element("hours").setText(new Long(huptime).toString()));
                uptime.addContent(new Element("minutes").setText(new Long(muptime).toString()));
                uptime.addContent(new Element("seconds").setText(new Long(suptime).toString()));
                doc.getRootElement().addContent(uptime);
                //TotalHitsCount
                doc.getRootElement().addContent(new Element("totalhitcount").setText(new Long(stats.gettotal_hit_count()).toString()));
                //EmittedBytes
                doc.getRootElement().addContent(new Element("emittedbytes").setText(new Long(stats.getemitted_bytes()).toString()));
                //Avghitsec
                doc.getRootElement().addContent(new Element("avghitsec").setText(new Float(stats.getavg_hit_sec()).toString()));
                //Avgbyteshit
                doc.getRootElement().addContent(new Element("avgbyteshit").setText(new Long(stats.getavgbytes_hit()).toString()));
                //Avgbps
                doc.getRootElement().addContent(new Element("avgbps").setText(new Long(stats.getavgbps()).toString()));
                //Total threads
                doc.getRootElement().addContent(new Element("totalthreads").setText(new Long(stats.gettotal_threads()).toString()));
                //Idle threads
                doc.getRootElement().addContent(new Element("idlethreads").setText(new Long(stats.getidle_threads()).toString()));

                XMLOutputter xmlOutput = new XMLOutputter();

                xmlOutput.setFormat(Format.getPrettyFormat());
                xmlOutput.output(doc, new FileWriter("/home/mazzy/Scrivania/perfor_"+dateFormat.format(cal.getTime())+".xml"));

而不是每次都重新创建一个新文件,我会在第一次创建文件时在第二次写入时在现有文件上附加信息

1 个答案:

答案 0 :(得分:2)

FileWriter类有一个带有append参数的构造函数。 所以你的代码看起来像这样:

xmlOutput.output(doc, new FileWriter("/home/mazzy/Scrivania/perfor_"+dateFormat.format(cal.getTime())+".xml"), true);