反序列化文本文件

时间:2015-04-18 14:24:15

标签: java serialization

我正在做一个小型套接字客户端/服务器项目。

在客户端,它序列化“城市”对象并将其保存在文本文件中,然后将其发送到服务器。

在服务器端,它反序列化文本文件并将其强制转换回“city”对象。

但是,我遇到了反序列化的问题。我的服务器在读取该文本文件时卡住了,它不会打印出city对象中包含的内容。 我写了一个示例测试程序,以使问题易于理解。

import java.io.FileInputStream;
import java.io.ObjectInputStream;

public class World {

  public static void main(String[] args) {

    try {
      FileInputStream fin = new FileInputStream("temp.txt");
      ObjectInputStream oin = new ObjectInputStream(fin);
      city c = (city) oin.readObject();
      System.out.println("name: " + c.getName());
      System.out.println("population: " + c.getPopulation());
      System.out.println("size: " + c.getSize());
      oin.close();
    } catch (Exception e) {
      e.printStackTrace();
    }

  }

}

我的城市对象:

import java.io.Serializable;

public class city implements Serializable {

  private String name;
  private int population;
  private float size;

  public city(String name, int population, float size) {
    this.name = name;
    this.population = population;
    this.size = size;
  }

  String getName() {
    return name;
  }

  int getPopulation() {
    return population;
  }

  float getSize() {
    return size;
  }

}

我的temp.txt就像这样(我不确定为什么在复制和粘贴后它看起来有所不同):

 sr city鸭? p? I populationF sizeL namet Ljava/lang/String;xp ?? t a

任何帮助将不胜感激。感谢。

0 个答案:

没有答案