commit 7189468398c3aba9cb418084a09135fcc338a70c Author: jandroalbus Date: Fri Oct 14 18:10:59 2022 +0200 Commit inicial diff --git a/SerializableFicheros/.classpath b/SerializableFicheros/.classpath new file mode 100644 index 0000000..57bca72 --- /dev/null +++ b/SerializableFicheros/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/SerializableFicheros/.project b/SerializableFicheros/.project new file mode 100644 index 0000000..0747662 --- /dev/null +++ b/SerializableFicheros/.project @@ -0,0 +1,17 @@ + + + SerializableFicheros + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/SerializableFicheros/.settings/org.eclipse.core.resources.prefs b/SerializableFicheros/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/SerializableFicheros/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/SerializableFicheros/.settings/org.eclipse.jdt.core.prefs b/SerializableFicheros/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/SerializableFicheros/.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/SerializableFicheros/README.md b/SerializableFicheros/README.md new file mode 100644 index 0000000..bd4ae68 --- /dev/null +++ b/SerializableFicheros/README.md @@ -0,0 +1,20 @@ +# README.md + +## Titulo +8.1 Serializable + +## Autor +Alejandro Javier Albus 2CFGS DAM + +## Enunciado +Escribir y leer objetos de un fichero + +## Uso +Para conectar con una interfaz JavaFX + +## Dependencias +Uso de librerias externas: +* java.io.Serializable + +## Licencia +Uso libre \ No newline at end of file diff --git a/SerializableFicheros/bin/SerializableFicheros/Persona.class b/SerializableFicheros/bin/SerializableFicheros/Persona.class new file mode 100644 index 0000000..9ada832 Binary files /dev/null and b/SerializableFicheros/bin/SerializableFicheros/Persona.class differ diff --git a/SerializableFicheros/bin/SerializableFicheros/SerializableFicheros.class b/SerializableFicheros/bin/SerializableFicheros/SerializableFicheros.class new file mode 100644 index 0000000..29f6848 Binary files /dev/null and b/SerializableFicheros/bin/SerializableFicheros/SerializableFicheros.class differ diff --git a/SerializableFicheros/src/SerializableFicheros/Persona.java b/SerializableFicheros/src/SerializableFicheros/Persona.java new file mode 100644 index 0000000..fc7f93d --- /dev/null +++ b/SerializableFicheros/src/SerializableFicheros/Persona.java @@ -0,0 +1,38 @@ +package SerializableFicheros; + +import java.io.Serializable; + +public class Persona implements Serializable { + + /** Version del serial */ + private static final long serialVersionUID = 1L; + + 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/SerializableFicheros/src/SerializableFicheros/SerializableFicheros.java b/SerializableFicheros/src/SerializableFicheros/SerializableFicheros.java new file mode 100644 index 0000000..b57dd45 --- /dev/null +++ b/SerializableFicheros/src/SerializableFicheros/SerializableFicheros.java @@ -0,0 +1,53 @@ +package SerializableFicheros; + +import java.io.*; + +/*8.1 Serializar */ + +public class SerializableFicheros { + + public static void main(String[] args) throws IOException{ + + Persona persona; + + File fichero = new File("C:\\ADA\\FichPersona.dat"); + FileOutputStream fileout = new FileOutputStream(fichero); + ObjectOutputStream dataOS= new ObjectOutputStream(fileout); + + String[] nombres= {"Juan","Pedro","Perico","Andrés"}; + + int[] edades= {21,22,23,24}; + for (int i = 0; i < edades.length; i++) { + persona = new Persona(nombres[i],edades[i]); + dataOS.writeObject(persona); + } + + dataOS.close(); + leerFichObject(fichero); + + } + + public static void leerFichObject (File fichero) throws IOException { + + Persona persona; + FileInputStream filein = new FileInputStream(fichero); + ObjectInputStream dataIS = new ObjectInputStream(filein); + + try { + while (true) { + persona = (Persona) dataIS.readObject(); + System.out.println("Nombre: "+persona.getNombre()+ + " Edad: "+persona.getEdad()); + } + } catch (EOFException error) { + //Ignore + } catch (ClassNotFoundException error) { + error.printStackTrace(); + System.out.println(error.getMessage()); + } + + dataIS.close(); + + } + +}