Mazzy
Mazzy

Reputation: 14179

append to existing xml file

I had created a method to write on xml file my infos

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"));

instead to recreate a new file everytime, I would create the first time the file and at the second writing append the infos on the existing file

Upvotes: 0

Views: 371

Answers (1)

nemzsom
nemzsom

Reputation: 94

The FileWriter class has a constructor for that with the append parameter. So your code would look like this:

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

Upvotes: 2

Related Questions