Учитывая статический класс, например MyStaticClass
, который имеет два метода для сохранения и сама загрузка в/из файла, как, например:Как сохранить статический класс в файл на Java?
private static void save() throws IOException {
FileOutputStream fos = new FileOutputStream(new File("myfile.dat"));
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(???);
oos.close();
}
private static void load() throws IOException {
FileInputStream fis = new FileInputStream(new File("myfile.dat"));
ObjectInputStream ois = new ObjectInputStream(fis);
??? = (MyStaticClass) ois.readObject();
ois.close();
}
То, что я должен поставить на место ???
, где я обычно поставил экземпляр объекта?
Может быть, есть способ сохранить статический класс в файле, отличный от того, который используется для экземпляров?
Вы не сохраняете классы, вы сохраняете экземпляры. Поэтому make 'save()' принимает экземпляр класса в качестве аргумента и 'load()' возвращает загруженный экземпляр. –
@SotiriosDelimanolis - Вы не сохраняете классы или экземпляры, вы сохраняете биты. Они могут представлять что угодно. –
@HotLicks Я имею в виду «ObjectOutputStream» –