Hola, tengo que hacer un programa de java que genere archivos xml y htm, estos serán llenados por medio de datos que ingresara el usuario desde la consola, el problema es que cuando cierro el programa y lo abro de nuevo, no añade los registros, reemplaza los registros viejos con registros nuevos
aquí el código:
package actividad1;
import java.util.Scanner;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
/**
*
* @author LENOVO
*/
public class Actividad1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String archivo = "datosjava";
String archivo2 = "datosjava2";
ArrayList nombre = new ArrayList();
ArrayList color = new ArrayList();
ArrayList animal = new ArrayList();
ArrayList cancion = new ArrayList();
ArrayList juego = new ArrayList();
ArrayList pais = new ArrayList();
Scanner leer = new Scanner(System.in);
String name,colorf,animalf,cancionf,juegof,paisf;
int op;
do{
System.out.println("Nombre");
name = leer.next();
System.out.println("color preferido");
colorf = leer.next();
System.out.println("animal preferido");
animalf = leer.next();
System.out.println("cancion preferido");
cancionf = leer.next();
System.out.println("juego preferido");
juegof = leer.next();
System.out.println("pais preferido");
paisf = leer.next();
nombre.add(name);
color.add(colorf);
animal.add(animalf);
cancion.add(cancionf);
juego.add(juegof);
pais.add(paisf);
System.out.println("1.- para seguir 2.- para salir");
op = leer.nextInt();
}while(op!=2);
try{
generate(archivo,nombre,color,animal,cancion,juego,pais);
generate2(archivo2,nombre,color,animal,cancion,juego,pais);
}catch (Exception e){}
}
private static void generate(String name, ArrayList<String> nombre, ArrayList<String> color, ArrayList<String> animal, ArrayList<String> cancion, ArrayList<String> juego, ArrayList<String> pais)throws Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();
Document document = implementation.createDocument(null, name, null);
document.setXmlVersion("1.0");
Element raiz = document.getDocumentElement();
for(int i=0;i<nombre.size();i++){
Element itemNode = document.createElement("ITEM");
Element nombreNode = document.createElement("nombre");
Text nodenombreVaule = document.createTextNode(nombre.get(i));
nombreNode.appendChild(nodenombreVaule);
Element colorNode = document.createElement("color");
Text nodecolorVaule = document.createTextNode(color.get(i));
colorNode.appendChild(nodecolorVaule);
Element animalNode = document.createElement("animal");
Text nodeanimalVaule = document.createTextNode(animal.get(i));
animalNode.appendChild(nodeanimalVaule);
Element cancionNode = document.createElement("cancion");
Text nodecancionVaule = document.createTextNode(cancion.get(i));
cancionNode.appendChild(nodecancionVaule);
Element juegoNode = document.createElement("juego");
Text nodejuegoVaule = document.createTextNode(juego.get(i));
juegoNode.appendChild(nodejuegoVaule);
Element paisNode = document.createElement("pais");
Text nodepaisVaule = document.createTextNode(pais.get(i));
paisNode.appendChild(nodepaisVaule);
itemNode.appendChild(nombreNode);
itemNode.appendChild(colorNode);
itemNode.appendChild(animalNode);
itemNode.appendChild(cancionNode);
itemNode.appendChild(juegoNode);
itemNode.appendChild(paisNode);
raiz.appendChild(itemNode);
}
Source source = new DOMSource(document);
Result result = new StreamResult(new java.io.File(name+".xml"));
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
}
private static void generate2(String name, ArrayList<String> nombre, ArrayList<String> color, ArrayList<String> animal, ArrayList<String> cancion, ArrayList<String> juego, ArrayList<String> pais)throws Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();
Document document = implementation.createDocument(null, name, null);
document.setXmlVersion("1.0");
Element raiz = document.getDocumentElement();
for(int i=0;i<nombre.size();i++){
Element itemNode = document.createElement("table");
Element nombreNode = document.createElement("nombre");
Text nodenombreVaule = document.createTextNode(nombre.get(i));
nombreNode.appendChild(nodenombreVaule);
Element colorNode = document.createElement("color");
Text nodecolorVaule = document.createTextNode(color.get(i));
colorNode.appendChild(nodecolorVaule);
Element animalNode = document.createElement("animal");
Text nodeanimalVaule = document.createTextNode(animal.get(i));
animalNode.appendChild(nodeanimalVaule);
Element cancionNode = document.createElement("cancion");
Text nodecancionVaule = document.createTextNode(cancion.get(i));
cancionNode.appendChild(nodecancionVaule);
Element juegoNode = document.createElement("juego");
Text nodejuegoVaule = document.createTextNode(juego.get(i));
juegoNode.appendChild(nodejuegoVaule);
Element paisNode = document.createElement("pais");
Text nodepaisVaule = document.createTextNode(pais.get(i));
paisNode.appendChild(nodepaisVaule);
itemNode.appendChild(nombreNode);
itemNode.appendChild(colorNode);
itemNode.appendChild(animalNode);
itemNode.appendChild(cancionNode);
itemNode.appendChild(juegoNode);
itemNode.appendChild(paisNode);
raiz.appendChild(itemNode);
}
Source source = new DOMSource(document);
Result result = new StreamResult(new java.io.File(name+".htm"));
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
}
}
aquí el código:
package actividad1;
import java.util.Scanner;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
/**
*
* @author LENOVO
*/
public class Actividad1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String archivo = "datosjava";
String archivo2 = "datosjava2";
ArrayList nombre = new ArrayList();
ArrayList color = new ArrayList();
ArrayList animal = new ArrayList();
ArrayList cancion = new ArrayList();
ArrayList juego = new ArrayList();
ArrayList pais = new ArrayList();
Scanner leer = new Scanner(System.in);
String name,colorf,animalf,cancionf,juegof,paisf;
int op;
do{
System.out.println("Nombre");
name = leer.next();
System.out.println("color preferido");
colorf = leer.next();
System.out.println("animal preferido");
animalf = leer.next();
System.out.println("cancion preferido");
cancionf = leer.next();
System.out.println("juego preferido");
juegof = leer.next();
System.out.println("pais preferido");
paisf = leer.next();
nombre.add(name);
color.add(colorf);
animal.add(animalf);
cancion.add(cancionf);
juego.add(juegof);
pais.add(paisf);
System.out.println("1.- para seguir 2.- para salir");
op = leer.nextInt();
}while(op!=2);
try{
generate(archivo,nombre,color,animal,cancion,juego,pais);
generate2(archivo2,nombre,color,animal,cancion,juego,pais);
}catch (Exception e){}
}
private static void generate(String name, ArrayList<String> nombre, ArrayList<String> color, ArrayList<String> animal, ArrayList<String> cancion, ArrayList<String> juego, ArrayList<String> pais)throws Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();
Document document = implementation.createDocument(null, name, null);
document.setXmlVersion("1.0");
Element raiz = document.getDocumentElement();
for(int i=0;i<nombre.size();i++){
Element itemNode = document.createElement("ITEM");
Element nombreNode = document.createElement("nombre");
Text nodenombreVaule = document.createTextNode(nombre.get(i));
nombreNode.appendChild(nodenombreVaule);
Element colorNode = document.createElement("color");
Text nodecolorVaule = document.createTextNode(color.get(i));
colorNode.appendChild(nodecolorVaule);
Element animalNode = document.createElement("animal");
Text nodeanimalVaule = document.createTextNode(animal.get(i));
animalNode.appendChild(nodeanimalVaule);
Element cancionNode = document.createElement("cancion");
Text nodecancionVaule = document.createTextNode(cancion.get(i));
cancionNode.appendChild(nodecancionVaule);
Element juegoNode = document.createElement("juego");
Text nodejuegoVaule = document.createTextNode(juego.get(i));
juegoNode.appendChild(nodejuegoVaule);
Element paisNode = document.createElement("pais");
Text nodepaisVaule = document.createTextNode(pais.get(i));
paisNode.appendChild(nodepaisVaule);
itemNode.appendChild(nombreNode);
itemNode.appendChild(colorNode);
itemNode.appendChild(animalNode);
itemNode.appendChild(cancionNode);
itemNode.appendChild(juegoNode);
itemNode.appendChild(paisNode);
raiz.appendChild(itemNode);
}
Source source = new DOMSource(document);
Result result = new StreamResult(new java.io.File(name+".xml"));
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
}
private static void generate2(String name, ArrayList<String> nombre, ArrayList<String> color, ArrayList<String> animal, ArrayList<String> cancion, ArrayList<String> juego, ArrayList<String> pais)throws Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();
Document document = implementation.createDocument(null, name, null);
document.setXmlVersion("1.0");
Element raiz = document.getDocumentElement();
for(int i=0;i<nombre.size();i++){
Element itemNode = document.createElement("table");
Element nombreNode = document.createElement("nombre");
Text nodenombreVaule = document.createTextNode(nombre.get(i));
nombreNode.appendChild(nodenombreVaule);
Element colorNode = document.createElement("color");
Text nodecolorVaule = document.createTextNode(color.get(i));
colorNode.appendChild(nodecolorVaule);
Element animalNode = document.createElement("animal");
Text nodeanimalVaule = document.createTextNode(animal.get(i));
animalNode.appendChild(nodeanimalVaule);
Element cancionNode = document.createElement("cancion");
Text nodecancionVaule = document.createTextNode(cancion.get(i));
cancionNode.appendChild(nodecancionVaule);
Element juegoNode = document.createElement("juego");
Text nodejuegoVaule = document.createTextNode(juego.get(i));
juegoNode.appendChild(nodejuegoVaule);
Element paisNode = document.createElement("pais");
Text nodepaisVaule = document.createTextNode(pais.get(i));
paisNode.appendChild(nodepaisVaule);
itemNode.appendChild(nombreNode);
itemNode.appendChild(colorNode);
itemNode.appendChild(animalNode);
itemNode.appendChild(cancionNode);
itemNode.appendChild(juegoNode);
itemNode.appendChild(paisNode);
raiz.appendChild(itemNode);
}
Source source = new DOMSource(document);
Result result = new StreamResult(new java.io.File(name+".htm"));
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
}
}