gpt4 book ai didi

java - Java 对象的序列化

转载 作者:行者123 更新时间:2023-12-02 04:39:45 25 4
gpt4 key购买 nike

我想序列化/反序列化一个对象。代码可以运行,但 txt 中的结果很糟糕。

这是代码:

public class Test implements Serializable {
public String[] nom;


public Test() {

nom = new String[5];
nom[0] = "Coucou";
nom[1] = "Je suis un tab de String";
nom[2] = "Je vais me faire serialiser";
nom[3] = "Et deserialiser aussi !";
nom[4] = "Je suis le roi du monde !";
}

}

主要内容:

    Test test = new Test();
File f = new File ("nom.txt");


try (ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream (f))) {
oos.writeObject (test);
}
catch (IOException exception)
{
System.out.println ("Erreur lors de l'écriture : " + exception.getMessage());
}

ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f)) ;

Test test2 = (Test)ois.readObject();

System.out.println(test2.nom[0]);
System.out.println(test2.nom[1]);
System.out.println(test2.nom[2]);
System.out.println(test2.nom[3]);
System.out.println(test2.nom[4]);

txt文件中的结果是:

¬í sr tp.java.Testp32< [ nomt [Ljava/lang/String;xpur [Ljava.lang.String;­ÒVçé{G xp t Coucout Je suis un tab de Stringt Je vais me faire serialisert Et deserialiser aussi !t Je suis le roi du monde !

控制台显示了反序列化的结果,非常完美:

Coucou 
Je suis un tab de String
Je vais me faire serialiser
Et deserialiser aussi !
Je suis le roi du monde !

有什么想法吗?是 UTF-8 问题吗?

最佳答案

这就是序列化的实际工作方式,它不会写入可读的文本文件,而是对象字段的简短版本。

关于java - Java 对象的序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30313021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com