我试图对对象进行简单的序列化。我有一个名为Student的实体如下:
package serialization;
import java.io.Serializable;
public class Student implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + "]";
}
public Student(int id, String name) {
super();
this.id = id;
this.name = name;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int id;
public String name;
}
我的主要方法如下,
package serialization;
import java.io.File;
import java.io.FileWriter;
public class Serialization {
public static void main(String args[])throws Exception{
Student s1 =new Student();
s1.setId(2);
s1.setName("hihihihihihi");
File f = new File("D://abc.txt");
FileWriter fw = new FileWriter(f);
fw.write(s1.getName().toString());
// fw.flush();
// fw.close();
System.out.println("success");
}
}
将对象写入指定位置的文件后,我无法在文件中看到任何内容。如果我使用同花顺或近距离方法,我可以看到打印的名称为" hihhihihiiii"等
write方法会将对象写入流中,为什么它不存在于文件中。为什么它只是在写入数据之后才关闭或刷新文件Writer ??