我正在做一个小型套接字客户端/服务器项目。
在客户端,它序列化“城市”对象并将其保存在文本文件中,然后将其发送到服务器。
在服务器端,它反序列化文本文件并将其强制转换回“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
任何帮助将不胜感激。感谢。