tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
60
Task/Object-serialization/Java/object-serialization.java
Normal file
60
Task/Object-serialization/Java/object-serialization.java
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
import java.io.*;
|
||||
|
||||
// classes must implement java.io.Serializable in order to be serializable
|
||||
class Entity implements Serializable {
|
||||
// it is recommended to hard-code serialVersionUID so changes to class
|
||||
// will not invalidate previously serialized objects
|
||||
static final long serialVersionUID = 3504465751164822571L;
|
||||
String name = "Entity";
|
||||
public String toString() { return name; }
|
||||
}
|
||||
|
||||
class Person extends Entity implements Serializable {
|
||||
static final long serialVersionUID = -9170445713373959735L;
|
||||
Person() { name = "Cletus"; }
|
||||
}
|
||||
|
||||
public class SerializationTest {
|
||||
public static void main(String[] args) {
|
||||
Person instance1 = new Person();
|
||||
System.out.println(instance1);
|
||||
|
||||
Entity instance2 = new Entity();
|
||||
System.out.println(instance2);
|
||||
|
||||
// Serialize
|
||||
try {
|
||||
ObjectOutput out = new ObjectOutputStream(new FileOutputStream("objects.dat")); // open ObjectOutputStream
|
||||
|
||||
out.writeObject(instance1); // serialize "instance1" and "instance2" to "out"
|
||||
out.writeObject(instance2);
|
||||
out.close();
|
||||
System.out.println("Serialized...");
|
||||
} catch (IOException e) {
|
||||
System.err.println("Something screwed up while serializing");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
// Deserialize
|
||||
try {
|
||||
ObjectInput in = new ObjectInputStream(new FileInputStream("objects.dat")); // open ObjectInputStream
|
||||
|
||||
Object readObject1 = in.readObject(); // read two objects from "in"
|
||||
Object readObject2 = in.readObject(); // you may want to cast them to the appropriate types
|
||||
in.close();
|
||||
System.out.println("Deserialized...");
|
||||
|
||||
System.out.println(readObject1);
|
||||
System.out.println(readObject2);
|
||||
} catch (IOException e) {
|
||||
System.err.println("Something screwed up while deserializing");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
} catch (ClassNotFoundException e) {
|
||||
System.err.println("Unknown class for deserialized object");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue