java中使用ObjectInputStream的readObject()获取文件中信息都为空
//Person类
public class Person implements Serializable{
private String name;
private int age;
private char gender;
private double salary;
private List<String> otherInfo;
public Person(String string, int i, char c, int j, List<String> list) {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public List<String> getOtherInfo() {
return otherInfo;
}
public void setOtherInfo(List<String> otherInfo) {
this.otherInfo = otherInfo;
}
@Override
public String toString() {
return name + "," + age + "," + gender + "," + salary + ","+ otherInfo;
}
}
//写入order.txt
public class writeDemo {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<String>();
list.add("家住上海");
list.add("汉族");
list.add("其它信息");
Person p = new Person("战三",22,'男',2000,list);
System.out.println("开始序列化...");
FileOutputStream fos = new FileOutputStream("order.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
//将list和Person信息写入文件中
oos.writeObject(p);
System.out.println("序列化完成...");
oos.close();
}
}
//读取order.txt
public class Readtest {
public static void main(String[] args) throws IOException, ClassNotFoundException {
FileInputStream fis = new FileInputStream("order.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
Person P = (Person)ois.readObject();
System.out.println(P); //???没有读取到数据
ois.close();
}
}
最终我Readtest 读到的是如下的结果,我是哪个位置写错了吗?求大神指教一下,非常感谢!
null,0,口,0.0,null
public class Person implements Serializable{
private String name;
private int age;
private char gender;
private double salary;
private List<String> otherInfo;
public Person(String string, int i, char c, int j, List<String> list) {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public List<String> getOtherInfo() {
return otherInfo;
}
public void setOtherInfo(List<String> otherInfo) {
this.otherInfo = otherInfo;
}
@Override
public String toString() {
return name + "," + age + "," + gender + "," + salary + ","+ otherInfo;
}
}
//写入order.txt
public class writeDemo {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<String>();
list.add("家住上海");
list.add("汉族");
list.add("其它信息");
Person p = new Person("战三",22,'男',2000,list);
System.out.println("开始序列化...");
FileOutputStream fos = new FileOutputStream("order.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
//将list和Person信息写入文件中
oos.writeObject(p);
System.out.println("序列化完成...");
oos.close();
}
}
//读取order.txt
public class Readtest {
public static void main(String[] args) throws IOException, ClassNotFoundException {
FileInputStream fis = new FileInputStream("order.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
Person P = (Person)ois.readObject();
System.out.println(P); //???没有读取到数据
ois.close();
}
}
最终我Readtest 读到的是如下的结果,我是哪个位置写错了吗?求大神指教一下,非常感谢!
null,0,口,0.0,null
...全文
相关推荐
java序列化与ObjectOutputStream和ObjectInputStream的实例详解
主要介绍了java序列化与ObjectOutputStream和ObjectInputStream的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
Java_一些使用JDBC的ReadObject Sink.zip
Java_一些使用JDBC的ReadObject Sink
ObjectInputStream 和 ObjectOutputStream 介绍_动力节点Java学院整理
ObjectInputStream 和 ObjectOutputStream 的作用是,对基本数据和对象进行序列化操作支持。本文给大家详细介绍了ObjectInputStream 和 ObjectOutputStream的相关知识,感兴趣的朋友一起学习吧
JavaIOObjectStreams:FileInputStream 与 ObjectInputStream 和 ObjectOutputStream 的组合
JavaIO对象流 FileInputStream 与 ObjectInputStream 和 ObjectOutputStream 的组合 奥利弗·缪尔
ObjectInputStream
ObjectInputStream序列化实例,简单就学会,JAVA原来so easy


