diff --git a/.gradle/7.4/checksums/checksums.lock b/.gradle/7.4/checksums/checksums.lock new file mode 100644 index 0000000..6768a46 Binary files /dev/null and b/.gradle/7.4/checksums/checksums.lock differ diff --git a/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock b/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock new file mode 100644 index 0000000..6eaf66a Binary files /dev/null and b/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock differ diff --git a/.gradle/7.4/dependencies-accessors/gc.properties b/.gradle/7.4/dependencies-accessors/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/7.4/executionHistory/executionHistory.bin b/.gradle/7.4/executionHistory/executionHistory.bin new file mode 100644 index 0000000..2bd48f2 Binary files /dev/null and b/.gradle/7.4/executionHistory/executionHistory.bin differ diff --git a/.gradle/7.4/executionHistory/executionHistory.lock b/.gradle/7.4/executionHistory/executionHistory.lock new file mode 100644 index 0000000..6f0616f Binary files /dev/null and b/.gradle/7.4/executionHistory/executionHistory.lock differ diff --git a/.gradle/7.4/fileChanges/last-build.bin b/.gradle/7.4/fileChanges/last-build.bin new file mode 100644 index 0000000..f76dd23 Binary files /dev/null and b/.gradle/7.4/fileChanges/last-build.bin differ diff --git a/.gradle/7.4/fileHashes/fileHashes.bin b/.gradle/7.4/fileHashes/fileHashes.bin new file mode 100644 index 0000000..68a5a60 Binary files /dev/null and b/.gradle/7.4/fileHashes/fileHashes.bin differ diff --git a/.gradle/7.4/fileHashes/fileHashes.lock b/.gradle/7.4/fileHashes/fileHashes.lock new file mode 100644 index 0000000..538d692 Binary files /dev/null and b/.gradle/7.4/fileHashes/fileHashes.lock differ diff --git a/.gradle/7.4/fileHashes/resourceHashesCache.bin b/.gradle/7.4/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000..a0a812a Binary files /dev/null and b/.gradle/7.4/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/7.4/gc.properties b/.gradle/7.4/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000..4e8a3cb Binary files /dev/null and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..5b28032 --- /dev/null +++ b/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Tue Nov 08 16:04:08 CET 2022 +gradle.version=7.4 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000..99fce1f Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe new file mode 100644 index 0000000..c1fed3f Binary files /dev/null and b/.gradle/file-system.probe differ diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/build/classes/java/main/Persona.class b/build/classes/java/main/Persona.class new file mode 100644 index 0000000..c4300ee Binary files /dev/null and b/build/classes/java/main/Persona.class differ diff --git a/build/classes/java/main/SeriableParser.class b/build/classes/java/main/SeriableParser.class new file mode 100644 index 0000000..98677ef Binary files /dev/null and b/build/classes/java/main/SeriableParser.class differ diff --git a/build/classes/java/main/XmlDomParser.class b/build/classes/java/main/XmlDomParser.class new file mode 100644 index 0000000..9e5f8f1 Binary files /dev/null and b/build/classes/java/main/XmlDomParser.class differ diff --git a/build/resources/main/Persona.dat b/build/resources/main/Persona.dat new file mode 100644 index 0000000..72ebb72 Binary files /dev/null and b/build/resources/main/Persona.dat differ diff --git a/build/resources/main/Personas.xml b/build/resources/main/Personas.xml new file mode 100644 index 0000000..f16cda4 --- /dev/null +++ b/build/resources/main/Personas.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 0000000..ac51387 Binary files /dev/null and b/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/src/main/java/com/antoniofrische/Persona.java b/src/main/java/com/antoniofrische/Persona.java new file mode 100644 index 0000000..dd13543 --- /dev/null +++ b/src/main/java/com/antoniofrische/Persona.java @@ -0,0 +1,27 @@ +package com.antoniofrische; + +import java.io.Serializable; + +public class Persona implements Serializable { + private String nombre; + private int edad; + public Persona(String nombre, int edad) { + this.nombre = nombre; + this.edad= edad; + } + public Persona() { + this.nombre=null; + } + public String getNombre() { + return nombre; + } + public void setNombre(String nombre) { + this.nombre = nombre; + } + public int getEdad() { + return edad; + } + public void setEdad(int edad) { + this.edad = edad; + } +} diff --git a/src/main/java/com/antoniofrische/SeriableParser.java b/src/main/java/com/antoniofrische/SeriableParser.java new file mode 100644 index 0000000..4c53f17 --- /dev/null +++ b/src/main/java/com/antoniofrische/SeriableParser.java @@ -0,0 +1,35 @@ +package com.antoniofrische; + +import java.io.*; + +public class SeriableParser { + Persona[] personas; + + public Persona[] getPersonas() { + return personas; + } + + public SeriableParser(File file) { + + try(FileInputStream infile = new FileInputStream(file); + ObjectInputStream datos = new ObjectInputStream(infile)){ + personas = new Persona[datos.available()]; + for (int i = 0; i < datos.available(); i++){ + //hace falta un seriable de array y no de persona, tengo que volver a la 8.1 + Persona persona = (Persona)datos.readObject(); + personas[i] = persona; + } + System.out.println(personas.length); + + } catch (FileNotFoundException e) { + e.printStackTrace(); + }catch (IOException ioe){ + ioe.printStackTrace(); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + + + + } +} diff --git a/src/main/java/com/antoniofrische/XmlDomParser.java b/src/main/java/com/antoniofrische/XmlDomParser.java new file mode 100644 index 0000000..49f7198 --- /dev/null +++ b/src/main/java/com/antoniofrische/XmlDomParser.java @@ -0,0 +1,58 @@ +package com.antoniofrische; + +import org.w3c.dom.*; +import javax.xml.parsers.*; +import javax.xml.transform.*; +import javax.xml.transform.dom.*; +import javax.xml.transform.stream.*; +import java.io.*; + +public class XmlDomParser { + public static void main(String[] args) throws IOException{ + File f = new File("C:\\Users\\AntonioFrische\\OneDrive - ABACCO Solutions\\Documents\\Schule_22_23_CFGS\\Acceso_Datos\\com.antoniofrische.Persona.dat"); + RandomAccessFile raf = new RandomAccessFile(f, "r"); + Persona[] personas; + try { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + DOMImplementation implementation = builder.getDOMImplementation(); + Document document = implementation.createDocument(null, "Personas", null); + document.setXmlVersion("1.0"); + SeriableParser parser = new SeriableParser(f); + personas = parser.getPersonas(); + System.out.println(personas.length); + for(int i = 0; i < personas.length; i++) { + + System.out.println("Edad: " + personas[i].getEdad() + " NOmbre: " + personas[i].getNombre()); + Element raiz = document.createElement("Personas"); + document.getDocumentElement().appendChild(raiz); + crearElemento("Edad",Integer.toString(personas[i].getEdad()),raiz,document); // añadir Edad + crearElemento("Nombre",personas[i].getNombre(),raiz,document); // añadir nombre + + if (raf.getFilePointer() >= raf.length()) break; + } + Source source = new DOMSource(document); + Result result = new StreamResult (new File("C:\\Users\\AntonioFrische\\OneDrive - ABACCO Solutions\\Documents\\Schule_22_23_CFGS\\Acceso_Datos\\Personas.xml")); + Transformer transformer = TransformerFactory.newInstance().newTransformer(); + transformer.transform(source,result); + }catch(EOFException eofe) { + System.out.println("Error End Of File: " + eofe.getMessage()); + }catch(IOException e) { + System.out.println("Error IO: " + e.getMessage()); + }catch(TransformerConfigurationException tce) { + System.out.println("Error Transformer Configuration: " + tce.getMessage()); + }catch(TransformerException te) { + System.out.println("Error Transformer: " + te.getMessage()); + }catch(ParserConfigurationException pce) { + System.out.println("Error Parser Configuration: " + pce.getMessage()); + }finally { + raf.close(); + } + } + static void crearElemento(String datoEmpleado, String valor, Element raiz, Document document) { + Element elem = document.createElement (datoEmpleado); //creamos hijo + Text text = document.createTextNode(valor); // damos valor al campo + raiz.appendChild(elem); //pegamos el elemento hijo a la raiz + elem.appendChild(text); //pegamos el valor + } +} \ No newline at end of file