1

ここに私のコードがあります:

Element FICHADAS = new Element("FICHADAS");
Document doc = new Document(FICHADAS);
try{

    Element fichada = new Element("fichada");
    //Nº TERMINAL
    fichada.addContent(new Element("N_Terminal").setText(props.getProperty("N_TERMINAL")));
    //TARJETA
    fichada.addContent(new Element("Tarjeta").setText(codOperario));
    //FECHA
    Date fechaFormatoFecha = new Date( );
    fichada.addContent(new Element("Fecha").setText(formatoFecha.format(fechaFormatoFecha)));
    //HORA
    Date fechaFormatoHora = new Date( );
    fichada.addContent(new Element("Hora").setText(formatoHora.format(fechaFormatoHora)));
    //CAUSA
    fichada.addContent(new Element("Causa").setText("2"));
    doc.getRootElement().addContent(fichada);
    XMLOutputter xmlOutput = new XMLOutputter();
    xmlOutput.setFormat(Format.getPrettyFormat());
    xmlOutput.output(doc, new FileWriter("fichadas.xml"));

} catch(IOException io){
}

プログラムを実行するたびに新しいドキュメントを作成していますが、存在しない場合にのみ作成し、ドキュメントが存在する場合はコンテンツを追加します。

4

2 に答える 2

4

これがあなたのやりたいことだと思います。擬似コードを与えるだけです:

File f = new File("fichadas.xml");
if(f.exists()){
//open file and write in it
} 
else{
//create new file
}
于 2015-04-24T08:44:58.310 に答える
3

このコンストラクタを見てくださいFilewriter

書き込まれたデータを追加するかどうかを示すブール値を持つファイル名を指定して、FileWriter オブジェクトを構築します。

また、最初にファイルが存在するかどうかを確認する必要があります。

File fichadas=new File("fichadas.xml");
if (fichadas.exists()){
     // append
     xmlOutput.output(doc, new FileWriter("fichadas.xml", true));
} else {
     // create 
     xmlOutput.output(doc, new FileWriter("fichadas.xml"));
}

宣言を避けるためにUPDATEを使用する必要がありますFormat.setOmitDeclaration(boolean)。したがって、次の形式をに追加する必要がありますXMLOutputter

// declare XMLOutputter 
XMLOutputter xmlOutput = new XMLOutputter();

// declare Format
Format fmt = Format.getPrettyFormat();

// set omit declaration to true
fmt.setOmitDeclaration(true);

// assign Format to XMLOutputter 
xmlOutput.setFormat(fmt);
于 2015-04-24T08:44:36.647 に答える