Сохранение в двоичную / сериализацию Java
Я должен, цитата на цитате,
1. Сохраните учетные записи в двоичном (сериализованном) файле. 2. Загрузка (воссоздание) учетных записей из двоичного (сериализованного) файла.
Итак, во-первых, я искал примеры того, что именно это, и я потерян, в тех же сценариях люди упоминают xml, в моей голове я думаю, что это означает как 01010011000 (двоичный), и когда я смотрю на другой код, это выглядит как нормальный сохранить текстовый файл.
Что именно он имеет в виду, и может ли кто-нибудь опубликовать пример или дать мне сайт, который лучше проясняет это? Как только я увижу, что мне действительно нужно сделать, я могу легко это реализовать, я просто запутался в том, что именно сохраняется (с точки зрения данных) и как.
* У меня уже есть возможность сохранить через текстовый файл (.txt), если я могу просто использовать часть этого кода для этой двоичной части.
Спасибо!
Вот то, что у меня сейчас, это все еще не работает, я думаю.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
public class SerializationMain implements Serializable {
public static void saveSerialized(Object YourObject, String filePath) throws IOException {
ObjectOutputStream outputStream = null;
try {
outputStream = new ObjectOutputStream(new FileOutputStream(filePath + ".dat"));
outputStream.writeObject(YourObject);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
if (outputStream != null) {
outputStream.flush();
outputStream.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
public static Object loadSerialized(String filePath, Object[][] data1) throws IOException {
try {
FileInputStream fileIn = new FileInputStream(filePath);
ObjectInputStream in = new ObjectInputStream(fileIn);
try {
data1 = (Object[][]) in.readObject();
} catch (ClassNotFoundException ex) {
Logger.getLogger(SerializationMain.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
System.out.println(data1.length);
return data1;
}
}