commit f905989591d6cfa2839737204bc560ca19e9d1dd Author: Daniel Date: Sat Nov 19 18:35:21 2022 +0100 first commit diff --git a/practica8_1/.classpath b/practica8_1/.classpath new file mode 100644 index 0000000..57bca72 --- /dev/null +++ b/practica8_1/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/practica8_1/.project b/practica8_1/.project new file mode 100644 index 0000000..ee7272f --- /dev/null +++ b/practica8_1/.project @@ -0,0 +1,17 @@ + + + practica8_1 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/practica8_1/.settings/org.eclipse.core.resources.prefs b/practica8_1/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/practica8_1/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/practica8_1/.settings/org.eclipse.jdt.core.prefs b/practica8_1/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/practica8_1/.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/practica8_1/Persona.bin b/practica8_1/Persona.bin new file mode 100644 index 0000000..a632a0b Binary files /dev/null and b/practica8_1/Persona.bin differ diff --git a/practica8_1/README.md b/practica8_1/README.md new file mode 100644 index 0000000..6035f6b --- /dev/null +++ b/practica8_1/README.md @@ -0,0 +1,3 @@ +En este programa crearemos 3 personas y mostraremos sus edades y sus nombres mediante los metodos writeObject() y readObject() y los guardaremos en un archivo. + +``` [ID = 1, Nombre = Paquito, Edad = 36, ID = 2, Nombre = Pedro, Edad = 88, ID = 3, Nombre = Juanjo, Edad = 59] ``` \ No newline at end of file diff --git a/practica8_1/bin/practica8_1/Gente.class b/practica8_1/bin/practica8_1/Gente.class new file mode 100644 index 0000000..bb7b989 Binary files /dev/null and b/practica8_1/bin/practica8_1/Gente.class differ diff --git a/practica8_1/bin/practica8_1/Main.class b/practica8_1/bin/practica8_1/Main.class new file mode 100644 index 0000000..fcd0c49 Binary files /dev/null and b/practica8_1/bin/practica8_1/Main.class differ diff --git a/practica8_1/bin/practica8_1/ObjReader.class b/practica8_1/bin/practica8_1/ObjReader.class new file mode 100644 index 0000000..c43bf68 Binary files /dev/null and b/practica8_1/bin/practica8_1/ObjReader.class differ diff --git a/practica8_1/bin/practica8_1/ObjWriter.class b/practica8_1/bin/practica8_1/ObjWriter.class new file mode 100644 index 0000000..4cf8730 Binary files /dev/null and b/practica8_1/bin/practica8_1/ObjWriter.class differ diff --git a/practica8_1/bin/practica8_1/Persona.class b/practica8_1/bin/practica8_1/Persona.class new file mode 100644 index 0000000..f9ce0b2 Binary files /dev/null and b/practica8_1/bin/practica8_1/Persona.class differ diff --git a/practica8_1/src/practica8_1/Gente.java b/practica8_1/src/practica8_1/Gente.java new file mode 100644 index 0000000..adc4fc9 --- /dev/null +++ b/practica8_1/src/practica8_1/Gente.java @@ -0,0 +1,35 @@ +package practica8_1; + +import java.io.Serial; +import java.io.Serializable; +import java.util.ArrayList; + +public class Gente implements Serializable{ + + @Serial + private static final long serialVersionUID = 1L; + private ArrayList datos ; + + public Gente() { + datos = new ArrayList<>(); + } + + public boolean add(Persona p){ + datos.add(p); + return true; + } + + public boolean remove(Persona p){ + datos.remove(p); + return true; + } + + public ArrayList getData() { + return datos; + } + + @Override + public String toString() { + return datos.toString(); + } +} diff --git a/practica8_1/src/practica8_1/Main.java b/practica8_1/src/practica8_1/Main.java new file mode 100644 index 0000000..a8f6921 --- /dev/null +++ b/practica8_1/src/practica8_1/Main.java @@ -0,0 +1,26 @@ +package practica8_1; + +import java.io.File; + +public class Main { + + public static void main(String[] args) { + File file = new File("Persona.bin"); + Gente data = new Gente(); + data.add(new Persona("Paquito", 36 )); + data.add(new Persona("Pedro", 88)); + data.add(new Persona("Juanjo", 59)); + + boolean isWritten = ObjWriter.write(data,file); + + Gente g = null; + + if (isWritten) { + g = (Gente) ObjReader.read(file); + System.out.println(g.toString()); + } + + + } + +} diff --git a/practica8_1/src/practica8_1/ObjReader.java b/practica8_1/src/practica8_1/ObjReader.java new file mode 100644 index 0000000..ced50c9 --- /dev/null +++ b/practica8_1/src/practica8_1/ObjReader.java @@ -0,0 +1,21 @@ +package practica8_1; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.ObjectInputStream; + +public class ObjReader { + + public static Object read(File file) { + Object result = null; + try (FileInputStream fis = new FileInputStream(file); + ObjectInputStream ois = new ObjectInputStream(fis) + ){ + result = ois.readObject(); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + return result; + } +} diff --git a/practica8_1/src/practica8_1/ObjWriter.java b/practica8_1/src/practica8_1/ObjWriter.java new file mode 100644 index 0000000..6408639 --- /dev/null +++ b/practica8_1/src/practica8_1/ObjWriter.java @@ -0,0 +1,21 @@ +package practica8_1; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectOutputStream; + +public class ObjWriter { + + public static boolean write(Object obj, File out) { + try (FileOutputStream fos = new FileOutputStream(out); + ObjectOutputStream oos = new ObjectOutputStream(fos) + ){ + oos.writeObject(obj); + oos.flush(); + return true; + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/practica8_1/src/practica8_1/Persona.java b/practica8_1/src/practica8_1/Persona.java new file mode 100644 index 0000000..1959956 --- /dev/null +++ b/practica8_1/src/practica8_1/Persona.java @@ -0,0 +1,38 @@ +package practica8_1; + +import java.io.Serializable; + +public class Persona implements Serializable{ + + private int id ; + private String nombre; + private int edad; + private static int CONT = 0; + + public Persona(String nombre, int edad) { + id = ++CONT; + this.nombre = nombre; + this.edad = edad; + } + + public int getAge() { + return edad; + } + + public void setAge(int age) { + this.edad = edad; + } + + public String getName() { + return nombre; + } + + public void setName(String name) { + this.nombre = nombre; + } + + @Override + public String toString() { + return "ID = " + id + ", Nombre = " + nombre + ", Edad = " + edad+""; + } +} \ No newline at end of file