是否将自定义对象数组保存到文件并在java中重新读取?

是否将自定义对象数组保存到文件并在java中重新读取?,java,arrays,file,object,save,Java,Arrays,File,Object,Save,我想将自定义的对象数组保存为文件,并在java的ProgramStart上作为对象数组重新读取。如果我也能将其保存为JSON,那就太好了。我尝试了一些常用的方法,但是我得到一个错误,说我的数组不能序列化 class ArrayOfObjects { public static void main (String[] args) throws Exception { Students[] studentArray = new Students[3]; studentArra

我想将自定义的对象数组保存为文件,并在java的ProgramStart上作为对象数组重新读取。如果我也能将其保存为JSON,那就太好了。我尝试了一些常用的方法,但是我得到一个错误,说我的数组不能序列化

class ArrayOfObjects {

  public static void main (String[] args) throws Exception {

    Students[] studentArray = new Students[3];
    studentArray[0] = new Students();
    studentArray[0].age = 18;
    studentArray[0].name = "Jones";
    studentArray[1] = new Students();
    studentArray[1].age = 21;
    studentArray[1].name = "David";
    studentArray[2] = new Students();
    studentArray[2].age = 15;
    studentArray[2].name = "Jeremy";
  }  

}

class Students {

  int age;
  String name;

}

你们班的学生应该实施Serialiazble

  • 如果您想将其保存在标准输出中,学生必须实现Serializable

  • 如果希望将其保存为JSON,请使用Jackson()并将其规范化为类的JavaBean声明

    class Students implemenst Serializable {
    
      private int age;
      private String name;
    
      public int getAge() {
          return age;
      }
    
      public void setAge(int age) {
          this.age = age;
      }
    
      public String getName() {
          return name;
      }
    
      public void setName(String name) {
          this.name = name;
      }
    
    }
    

  • 这种方法奏效了。我现在知道了。另外,如何将其重新读取到同一数组中?您可以使用ObjectInputStream