Чтение и запись объектов в Java

Сериализация - это преобразование объекта в последовательность байтов, чтобы объект можно было легко сохранить в постоянном хранилище или потоковом потоке даже на другой платформе или в сети. Затем один и тот же поток байтов можно десериализовать - преобразовать в реплику исходного объекта. Поскольку создание потока байтов является нейтральным по отношению к платформе, как только объекты, созданные в одной системе, могут быть десериализованы на другой платформе. Это очень полезно, когда вы хотите передать данные одного объекта по сети, например, с одной JVM на другую. Здесь, в Java, механизм сериализации встроен в платформу, но вам необходимо реализовать интерфейс Serializable, чтобы сделать объект сериализуемым.

Пример

 
import Java.io.*;
class Student implements Java.io.Serializable{
  int ID;
  String Name;
  Student(int ID, String Name){
    this.ID = ID;
    this.Name=Name;
  }
}

Как читать и записывать объекты Java из / в файл?

ObjectOutputStream используется для сериализации и записи в файл, в то время как ObjectInputStream может использоваться аналогичным образом для чтения сериализованных объектов из файла

Пример

 
import Java.util.*;
import Java.io.*;
class Student implements Java.io.Serializable {
  int ID;
  String Name;
  Student(int ID, String Name){
    this.ID = ID;
    this.Name=Name;
  }
  public String toString() {
    return "ID:" + ID + "\nName: " + Name;
  }
}
public class TestClass{
  public static void main(String[] args) {
    Student st1 = new Student(100, "Bill");
    Student st2 = new Student(101, "Gates");
    // запись объекта в файл
    try {
      FileOutputStream fos = new FileOutputStream(new File("D:\\JavaObjects.txt"));
      ObjectOutputStream oos = new ObjectOutputStream(fos);
      // Запись объектов в файл
      oos.writeObject(st1);
      oos.writeObject(st2);
      oos.close();
      fos.close();
    }
    catch (IOException e){
      e.printStackTrace();
    }
    // Чтение объектов из файла
    try{
      FileInputStream fis = new FileInputStream(new File("D:\\JavaObjects.txt"));
      ObjectInputStream ois = new ObjectInputStream(fis);
      Student s1 = (Student) ois.readObject();
      Student s2 = (Student) ois.readObject();
      System.out.println(s1.toString());
      System.out.println(s2.toString());
      fis.close();
      ois.close();
    }catch(Exception ex){
      ex.printStackTrace();
    }
  }
}

Источник: http://net-informations.com/Java/files/objects.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector