From bc21e2b50b07af506f5f45f948c5cef62b02a86d Mon Sep 17 00:00:00 2001 From: Cristobal Date: Sun, 20 Nov 2022 21:23:47 +0100 Subject: [PATCH] Commit --- .classpath | 10 ++ .project | 17 +++ .settings/org.eclipse.core.resources.prefs | 2 + .settings/org.eclipse.jdt.core.prefs | 14 ++ README.md | 28 ++++ .../cristobalbernal/Actividad11/Main.class | Bin 0 -> 5520 bytes .../Actividad11/Personas.class | Bin 0 -> 1078 bytes .../Actividad11/package-info.class | Bin 0 -> 137 bytes bin/module-info.class | Bin 0 -> 171 bytes src/com/cristobalbernal/Actividad11/Main.java | 125 ++++++++++++++++++ .../cristobalbernal/Actividad11/Personas.java | 34 +++++ .../Actividad11/package-info.java | 1 + src/module-info.java | 10 ++ 13 files changed, 241 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 README.md create mode 100644 bin/com/cristobalbernal/Actividad11/Main.class create mode 100644 bin/com/cristobalbernal/Actividad11/Personas.class create mode 100644 bin/com/cristobalbernal/Actividad11/package-info.class create mode 100644 bin/module-info.class create mode 100644 src/com/cristobalbernal/Actividad11/Main.java create mode 100644 src/com/cristobalbernal/Actividad11/Personas.java create mode 100644 src/com/cristobalbernal/Actividad11/package-info.java create mode 100644 src/module-info.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..57bca72 --- /dev/null +++ b/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..ee35a34 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + Actividad_11 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/README.md b/README.md new file mode 100644 index 0000000..917bd22 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +En esta aplicacion lo que queremos conseguir es que con el archivo que creamos en el proyecto 8_1 hagamos un XML. + +Lo que tendremos que hacer es leer el archivo .data que creamos y ya luego escribir en un nuevo archivo que creamos desde el propio termina +que es un xml. + +``` + +El archivo XML de personas se ha creado correctamente! + + +Resultado: + + + + + + + + + diff --git a/bin/com/cristobalbernal/Actividad11/Main.class b/bin/com/cristobalbernal/Actividad11/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..6db8159ec6370d9932a8b7bb42a49813d055b423 GIT binary patch literal 5520 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 literal 0 HcmV?d00001 diff --git a/bin/com/cristobalbernal/Actividad11/Personas.class b/bin/com/cristobalbernal/Actividad11/Personas.class new file mode 100644 index 0000000000000000000000000000000000000000..58e57f08a7e010002cd4a9227ef868513e612e9c GIT binary patch literal 1078 zcma)3U2oGs5S&Zgq)D7MZJj{dqz&JRL0EkTDpd%iN>M>7>igNT!c~rq9JjxU2at%6 zc;E-{qY!f!r-&q#c)9hicV=g2fBpXP6TmAxDWf3J3zD%Hq-v5SzKr}Zjb-GW1ev;4 zLpeM;^4^E(B#Gsu3`?MKDX*m$$#~?w^Do076DY;W*iS=&?ZMxl=UJ-a(F=if`6-Md zHB1Dokc0x_RG>Txvo|Iy_WI1N*U2!fKw!hhIw}I20~Lp7S7Yk=ApOX&CxMJEWU6$Y z7p?50nh3aq|6PKLDx7_mOLltwWzkwk%f=c?6grs;wR)%h3!+(=qno{DuMv&_hnGo+npn5WZE~t@`|G z&-G1kk1C2hdJzS^7rzQxl8N-2vCNJtYJ6>G9;0AfbHAbf*|cr)Etz5k4Sw6R25e!Q znZOPlzKh`Imj$rB5_|`DbMP^h74#@~e~S9o8+6rF8&tn#7+SNge7u&X_t2_$vA4wa zbc*I8*ABUyTe!4GnrnaMQtid1S}T`2SS_TzC}fvH_HGe!m<#Ee6KZ!OE^aY8?swdG z^?U8%(Bds#FThLLtzF^Mg|U$BE5>-9AO4-Mg~qWFDbD&wSj?w j5ojd@FflL#8B7c;46Hy}hJg(%%*4O}rnwrx6odc(pUxpT literal 0 HcmV?d00001 diff --git a/src/com/cristobalbernal/Actividad11/Main.java b/src/com/cristobalbernal/Actividad11/Main.java new file mode 100644 index 0000000..946bd58 --- /dev/null +++ b/src/com/cristobalbernal/Actividad11/Main.java @@ -0,0 +1,125 @@ +package com.cristobalbernal.Actividad11; + +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.util.ArrayList; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +public class Main { + + public static void main(String[] args) throws EOFException { + File fichero = new File("C:\\Users\\crist\\Documents\\2DAM\\BaseDeDatos\\Personas.dat"); + ArrayList personas = leerFichero(fichero); + + if(crearXml(personas)) { + System.out.println("El archivo XML de personas se ha creado correctamente!"); + } else { + System.out.println("Error al crear el archivo XML de personas"); + } + + } + + public static boolean crearXml(ArrayList personas) { + boolean creadoCorrectamente = false; + + try { + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); + Document doc = docBuilder.newDocument(); + + Element personasXml = doc.createElement("Personas"); + doc.appendChild(personasXml); + + for(int i = 0; i < personas.size(); i++) { + Element persona = doc.createElement("Persona"); + personasXml.appendChild(persona); + + Attr nombre = doc.createAttribute("nombre"); + nombre.setValue(personas.get(i).getNombre()); + persona.setAttributeNode(nombre); + Attr apellido = doc.createAttribute("apellido"); + apellido.setValue(personas.get(i).getApellido()); + persona.setAttributeNode(apellido); + Attr edad = doc.createAttribute("edad"); + edad.setValue(String.valueOf(personas.get(i).getEdad())); + persona.setAttributeNode(edad); + } + + + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + DOMSource source = new DOMSource(doc); + StreamResult result = new StreamResult(new File("C:\\Users\\crist\\Documents\\2DAM\\BaseDeDatos\\Personas.xml")); + transformer.transform(source, result); + + creadoCorrectamente = true; + } catch (ParserConfigurationException pce) { + pce.printStackTrace(); + } catch (TransformerException tfe) { + tfe.printStackTrace(); + } + + return creadoCorrectamente; + } + + @SuppressWarnings("resource") + public static ArrayList leerFichero(File fichero) { + FileInputStream filein = null; + try { + filein = new FileInputStream(fichero); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } + ObjectInputStream dataIS = null; + try { + dataIS = new ObjectInputStream(filein); + } catch (IOException ioe) { + + } + + String[] nombres; + String[] apellidos; + int[] edades; + + try { + nombres = (String[]) dataIS.readObject(); + apellidos = (String[]) dataIS.readObject(); + edades = (int[]) dataIS.readObject(); + } catch (IOException e) { + throw new RuntimeException(e); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + + ArrayList personas = new ArrayList<>(); + + for (int i = 0; i < nombres.length; i++) { + personas.add(new Personas(nombres[i],apellidos[i],edades[i])); + } + + try { + dataIS.close(); + } catch (IOException e) { + throw new RuntimeException(e); + } + + return personas; + } + +} diff --git a/src/com/cristobalbernal/Actividad11/Personas.java b/src/com/cristobalbernal/Actividad11/Personas.java new file mode 100644 index 0000000..a5cae28 --- /dev/null +++ b/src/com/cristobalbernal/Actividad11/Personas.java @@ -0,0 +1,34 @@ +package com.cristobalbernal.Actividad11; + +public class Personas { + private String nombre; + private String apellido; + private int edad; + + public int getEdad() { + return edad; + } + public String getNombre() { + return nombre; + } + + public void setEdad(int edad) { + this.edad = edad; + } + public void setNombre(String nombre) { + this.nombre = nombre; + } + public String getApellido() { + return apellido; + } + public void setApellido(String apellidos) { + this.apellido = apellidos; + } + + public Personas(String nombre,String apellidos, int edad) { + this.nombre = nombre; + this.apellido = apellidos; + this.edad = edad; + } + +} diff --git a/src/com/cristobalbernal/Actividad11/package-info.java b/src/com/cristobalbernal/Actividad11/package-info.java new file mode 100644 index 0000000..61f2ece --- /dev/null +++ b/src/com/cristobalbernal/Actividad11/package-info.java @@ -0,0 +1 @@ +package com.cristobalbernal.Actividad11; \ No newline at end of file diff --git a/src/module-info.java b/src/module-info.java new file mode 100644 index 0000000..4ba2e24 --- /dev/null +++ b/src/module-info.java @@ -0,0 +1,10 @@ +/** + * + */ +/** + * @author crist + * + */ +module Actividad_11 { + requires java.xml; +} \ No newline at end of file