2016-07-09 21 views
0

Ich habe derzeit eine Object[][], die ein 2D-Array enthält, wird dieses Array mit temporären Arrays manipuliert und was nicht, um die Größe zu vergrößern (es ist, was ich bisher herausgefunden habe).Speichern Sie ein Objekt [] [] und laden Sie es

Was ich möchte ist, wenn das Programm beendet wird die neue Object[][] Instanz gespeichert wird und dann, wenn es startet, will ich das neue Object[][] laden. Ich denke darüber nach, es zu einer Datei zu machen, dann benutze einen Tokenizer, um die Object[][] am Anfang zu füllen. Gehe ich in die richtige Richtung?

+1

Wenn Ihr Programm beendet wird, ist das Objekt offensichtlich verloren. Sie müssen die Informationen irgendwo speichern, zB: als JSON-Datei, schauen Sie sich Googles gson an, es ist ziemlich einfach https://sites.google.com/site/gson/gson-user-guide –

+1

Werfen Sie einen Blick auf [ 'ObjectInputStream'] (https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInputStream.html) und [' ObjectOutputStream'] (https://docs.oracle.com/javase/ 7/docs/api/java/io/ObjectOutputStream.html). [Dieses Tutorial] (https://examples.javacodegeeks.com/core-java/io/objectinputstream/java-objectinputstream-and-objectoutputstream-example/) kann ebenfalls hilfreich sein. – MasterBlaster

Antwort

0

So konnte ich herausfinden, wie man das Objekt [] [] speichert und lädt.

Um die Datei zu speichern, müsste ich zuerst eine Object [] [] Variable haben, die mindestens ein Objekt-Array enthält. Dann gespeichert Ich/die Datei erstellt, etwa so:

public void saveFile(Object[] variable){ 
     ObjectOutputStream oos = new ObjectOutputStream(new 
       FileOutputStream(filename)); 
     oos.writeObject(variable); 
     oos.close(); 

} 

dann als solche laden:

public void loadFile(){ 
    ObjectInputStream ois = new ObjectInputStream(new 
      FileInputStream(filename)); 
    players = (Object[][]) ois.readObject(); 
    ois.close(); 
} 

Ich weiß, dass ich einfach bin die Datei mit einem neuen überschreiben, aber es ist die beste Lösung, die ich war fähig, herauszufinden. Vielen Dank @MasterBlaster für Ihre Hilfe, und @MadMatts Ich konnte einfach nicht herausfinden, wie man Gson verwendet, vielleicht werde ich ein anderes Mal, aber danke trotzdem!