Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Kaminegame en 21 Julio 2020, 05:52 am



Título: Ayuda con programa de java
Publicado por: Kaminegame en 21 Julio 2020, 05:52 am
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);
           
           
           
       
    }
   
   }