将对象写入流后序列化对象时,flush方法的用途是什么?

时间:2016-06-09 11:14:20

标签: java

我试图对对象进行简单的序列化。我有一个名为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 ??

0 个答案:

没有答案