Sérialiser l'objet en chaîne en Java
Ce didacticiel montre comment sérialiser un objet dans une chaîne en Java.
Sérialiser l’objet en chaîne en Java
Pour sérialiser un objet en une chaîne, nous pouvons utiliser les encodages de base 64. Nous pouvons implémenter la sérialisation en créant deux classes, une classe implémentera la classe Serializable
, et l’autre classe servira à créer l’objet de la classe Serializable
et à le sérialiser.
Voir l’exemple Java :
package delftstack;
import java.io.*;
import java.util.*;
public class Serialize_Object {
public static void main(String[] args) throws IOException, ClassNotFoundException {
String Serialized_String = To_String(new Demo_Serialize());
System.out.println(" The Serialized String ");
System.out.println(Serialized_String);
Demo_Serialize Original_object = (Demo_Serialize) From_String(Serialized_String);
System.out.println("\n\nThe Original String");
System.out.println(Original_object);
}
private static Object From_String(String s) throws IOException, ClassNotFoundException {
byte[] Byte_Data = Base64.getDecoder().decode(s);
ObjectInputStream Object_Input_Stream =
new ObjectInputStream(new ByteArrayInputStream(Byte_Data));
Object Demo_Object = Object_Input_Stream.readObject();
Object_Input_Stream.close();
return Demo_Object;
}
private static String To_String(Serializable Demo_Object) throws IOException {
ByteArrayOutputStream Byte_Array_Output_Stream = new ByteArrayOutputStream();
ObjectOutputStream Object_Output_Stream = new ObjectOutputStream(Byte_Array_Output_Stream);
Object_Output_Stream.writeObject(Demo_Object);
Object_Output_Stream.close();
return Base64.getEncoder().encodeToString(Byte_Array_Output_Stream.toByteArray());
}
}
class Demo_Serialize implements Serializable {
private final static long serialVersionUID = 1;
int i = Integer.MAX_VALUE;
String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Double d = new Double(-1.0);
public String toString() {
return "DelftStack is a resource for everyone interested in "
+ "programming, embedded software, and electronics. "
+ "It covers the programming languages like Python, "
+ "C/C++, C#, and so on in this website's first "
+ "development stage. Open-source hardware also falls "
+ "in the website's scope, like Arduino, Raspberry Pi, and BeagleBone.";
}
}
Le code ci-dessus créera un objet de la classe Demo_Serialize
et sérialisera cet objet en une chaîne. La sortie pour le code ci-dessus sera :
The Serialized String
rO0ABXNyABlkZWxmdHN0YWNrLkRlbW9fU2VyaWFsaXplAAAAAAAAAAECAANJAAFpTAABZHQAEkxqYXZhL2xhbmcvRG91YmxlO0wAAXN0ABJMamF2YS9sYW5nL1N0cmluZzt4cH////9zcgAQamF2YS5sYW5nLkRvdWJsZYCzwkopa/sEAgABRAAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHC/8AAAAAAAAHQAGkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla
The Original String
DelftStack is a resource for everyone interested in programming, embedded software, and electronics. It covers the programming languages like Python, C/C++, C#, and so on in this website's first development stage. Open-source hardware also falls in the website's scope, like Arduino, Raspberry Pi, and BeagleBone.
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn FacebookArticle connexe - Java Object
- Implémentation d'un objet d'accès aux données en Java
- Convertir un objet en Int en Java
- Trier un tableau d'objets en Java
- Imprimer des objets en Java
- Créer un tableau d'objets en Java