Browse Source

Actividad 11

master
kevin 1 year ago
commit
b2635f4e3e
8 changed files with 186 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. BIN
      bin/dam/com/es/Main.class
  6. BIN
      bin/dam/com/es/Persona.class
  7. +116
    -0
      src/dam/com/es/Main.java
  8. +27
    -0
      src/dam/com/es/Persona.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>Actividad11</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

BIN
bin/dam/com/es/Main.class View File


BIN
bin/dam/com/es/Persona.class View File


+ 116
- 0
src/dam/com/es/Main.java View File

@ -0,0 +1,116 @@
package dam.com.es;
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 {
//Fichero de objetos Persona
File fichero = new File("C:\\Users\\kevin\\Documents\\Atividad11\\FichPersona.dat");
//Guardamos los datos de las personas para poder crear el archivo XML
ArrayList<Persona> personas = leerFichero(fichero);
//Comprueba que el archivo XML se ha creado correctamente
if(crearArchivoXml(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 crearArchivoXml(ArrayList<Persona> personas) {
boolean creadoCorrectamente = false;
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
//Se define el array de personas
Element personasXml = doc.createElement("Personas");
doc.appendChild(personasXml);
for(int i = 0; i < personas.size(); i++) {
//Se definen las personas
Element persona = doc.createElement("Persona");
personasXml.appendChild(persona);
//Se definen los atributos de cada persona, se les asigna el valor adecuado y se añaden al elemento persona
Attr nombre = doc.createAttribute("nombre");
nombre.setValue(personas.get(i).getNombre());
persona.setAttributeNode(nombre);
Attr edad = doc.createAttribute("edad");
edad.setValue(String.valueOf(personas.get(i).getEdad()));
persona.setAttributeNode(edad);
}
//Se escribe el contenido del XML en un archivo
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("C:\\Users\\kevin\\Documents\\Atividad11\\Personas.xml"));
transformer.transform(source, result);
creadoCorrectamente = true;
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
return creadoCorrectamente;
}
public static ArrayList<Persona> 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;
int[] edades;
try {//Qui es donde lee los datos del archivo
nombres = (String[]) dataIS.readObject();
edades = (int[]) dataIS.readObject();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
ArrayList<Persona> personas = new ArrayList<>(); //Se crea la lista que tendra los datos de las personas
for (int i = 0; i < nombres.length; i++) {//Cojemos los datos y se crea nueva paginas y añaden en la lista de personas
personas.add(new Persona(nombres[i], edades[i]));
}
try {
dataIS.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
return personas;
}
}

+ 27
- 0
src/dam/com/es/Persona.java View File

@ -0,0 +1,27 @@
package dam.com.es;
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;
}
}

Loading…
Cancel
Save