Browse Source

Commit

master
Cristobal 1 year ago
commit
bc21e2b50b
13 changed files with 241 additions and 0 deletions
  1. +10
    -0
      .classpath
  2. +17
    -0
      .project
  3. +2
    -0
      .settings/org.eclipse.core.resources.prefs
  4. +14
    -0
      .settings/org.eclipse.jdt.core.prefs
  5. +28
    -0
      README.md
  6. BIN
      bin/com/cristobalbernal/Actividad11/Main.class
  7. BIN
      bin/com/cristobalbernal/Actividad11/Personas.class
  8. BIN
      bin/com/cristobalbernal/Actividad11/package-info.class
  9. BIN
      bin/module-info.class
  10. +125
    -0
      src/com/cristobalbernal/Actividad11/Main.java
  11. +34
    -0
      src/com/cristobalbernal/Actividad11/Personas.java
  12. +1
    -0
      src/com/cristobalbernal/Actividad11/package-info.java
  13. +10
    -0
      src/module-info.java

+ 10
- 0
.classpath View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

+ 17
- 0
.project View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Actividad_11</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

+ 2
- 0
.settings/org.eclipse.core.resources.prefs View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

+ 14
- 0
.settings/org.eclipse.jdt.core.prefs View File

@ -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

+ 28
- 0
README.md View File

@ -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:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Personas>
<Persona apellido="Pere"
edad="20"
nombre="Antonio"/>
<Persona apellido="Caldero"
edad="18"
nombre="Perico"/>
<Persona apellido="Persiana"
edad="19"
nombre="JuanJo"/>
<Persona apellido="Martinez"
edad="45"
nombre="Joan"/>
</Personas>

BIN
bin/com/cristobalbernal/Actividad11/Main.class View File


BIN
bin/com/cristobalbernal/Actividad11/Personas.class View File


BIN
bin/com/cristobalbernal/Actividad11/package-info.class View File


BIN
bin/module-info.class View File


+ 125
- 0
src/com/cristobalbernal/Actividad11/Main.java View File

@ -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> 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> 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<Personas> 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> 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;
}
}

+ 34
- 0
src/com/cristobalbernal/Actividad11/Personas.java View File

@ -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;
}
}

+ 1
- 0
src/com/cristobalbernal/Actividad11/package-info.java View File

@ -0,0 +1 @@
package com.cristobalbernal.Actividad11;

+ 10
- 0
src/module-info.java View File

@ -0,0 +1,10 @@
/**
*
*/
/**
* @author crist
*
*/
module Actividad_11 {
requires java.xml;
}

Loading…
Cancel
Save