【问题标题】:Serialisation of an Object JavaJava 对象的序列化
【发布时间】:2015-07-30 12:53:35
【问题描述】:

我想序列化/反序列化一个对象。代码运行,但 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

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

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

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

【问题讨论】:

  • 对我来说看起来很完美。序列化不是人类可读的。你到底有什么问题??
  • 如果你想序列化为一些文本/人类可读的格式,序列化为 JSON 或 XML
  • 我不知道序列化不是人类可读的...... ._.
  • 你是从哪里得到这个想法的?还是你只是在猜测?

标签: java serialization deserialization java-io


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多