现在有这样一个类定义;public class DocumentVector {
  private int id;
  private Collection sorts;
  private Map features;
  private String split;
}由这个类定义的对象怎么用最简单的方法把它直接写到文件中?
又用什么方法把它最简单的读出来?

解决方案 »

  1.   

    你需要把DocumentVector实现java.io.Serializable接口,也就是需要这个类可序列化。
    然后,把这个类写成文件就可以了:)比如,你把该类保存成DocumentVector.ser,你可以这样实现:DocumentVector serialDoc = ....;
    String name = "DocumentVector.ser";
          FileOutputStream serialOut = new FileOutputStream(name);
          ObjectOutputStream objectOut = new ObjectOutputStream(serialOut);
          objectOut.writeObject(serialDoc);
          objectOut.close();
          serialOut.close();
      

  2.   

    读取的时候,你可以使用下面的方法:String name = "DocumentVector.ser";
        File serialFile = new File(name);
        FileInputStream  serialIn = new FileInputStream(serialFile);
        ObjectInputStream objectIn = new ObjectInputStream(serialIn);
        DocumentVector serialDoc = (DocumentVector)objectIn.readObject();
        objectIn.close();
        serialIn.close();
      

  3.   

    谢谢emin_lee
    我开始直接保存到文件的时候,所有的Collection和Map全是java地址
    原来没实现Serializable接口
    马上试下