How to deserialize object from constructor in Java? -
i trying funky stuff have never done before.
so trying is: create object doing following
player playervar = new player(1234);
players constructor player called 1234
, if exists, deserialize , store loaded object under 'playervar
', if not it'll follow through , give a
'blank'` player object.
i not sure if possible make current object other instance of same object, posting here.
this trying do.
this = deserielizedobject
i know can done loading object, setting necessary variables manually, hardly ideal. how can 'replace' object instance of itself, within itself
this code have
player.java
public class player implements java.io.serializable { player(string guid) // when loading new player { player player = loadplayer(guid); //i want set player // = player if know mean.... } player()//when creating new player { } private player loadplayer(string guid) { file f = new file("data/players/"+guid+".ser"); if(!f.exists()) { player player = new player(); return player; } player player = null; try { fileinputstream filein = new fileinputstream("data/players/"+guid+".ser"); objectinputstream in = new objectinputstream(filein); player = (player) in.readobject(); in.close(); filein.close(); } catch(ioexception i) { i.printstacktrace(); return null; } catch(classnotfoundexception c) { system.out.println("cant find player class!"); c.printstacktrace(); return null; } return player; } private int guid; private string name; private int bankmoney; ....... ... . }
you use factory class/method. simpliest way in case have loadplayer
public static method.
public static player loadplayer(string guid) { ... return player; }
then:
player playervar = player.loadplayer(1234);
Comments
Post a Comment