Я использую приведенный ниже код, чтобы получить данные из файла, сохраненного на моем рабочем столе, для ввода в игру, которую я делаю.Сериализация Java и обработка объектов
try {
FileInputStream saves = new FileInputStream("/Users/Prodigy958/Desktop/Hack_exeSaves.ser");
ObjectInputStream in = new ObjectInputStream(saves);
test = (player) in.readObject();
in.close();
saves.close();
} catch(IOException error) {
error.printStackTrace();
return;
} catch(ClassNotFoundException error) {
error.printStackTrace();
return;
}
Существует также раздел, который берет объект игрока и вводит его в файл.
player realPlayer = new player();
realPlayer.name = newName;
realPlayer.gender = newGender;
realPlayer.hasStarted = false;
try {
FileOutputStream fileOut = new FileOutputStream("/Users/Prodigy958/Desktop/Hack_exeSaves.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(realPlayer);
out.close();
fileOut.close();
} catch(IOException i) {
i.printStackTrace();
}
Вопрос, который я имею, что если вы сохраняете более одного игрока на данные файла, он вызывает ошибки, потому что она принимает все данные и превращает его в один объект игрока. Знаете ли вы простой способ, которым я мог бы разделить данные? Я думал об использовании нескольких файлов для хранения данных каждого другого объекта. Я также собираюсь извлечь данные и разделить их на отдельные объекты, а затем работать оттуда, однако я не знаю, с чего начать на втором.
Как насчет сериализации набора или хэш-карты игроков? – BCartolo
@BCartolo, что бы это было? Проблема в том, что в файле не всегда будет много игроков. – Shaydoth
И набор размеров 1 вам не подходит, потому что .....? – whitesite