Speichern als Binär - /Serialisierung von java

Habe ich, Zitat auf Zitat,

1.Speichern Konten eine binäre (serialisiert) - Datei.
2.Laden (neu) Konten von einem binären (serialisiert) - Datei.

Also, Erstens, ich war auf der Suche, Beispiele, was genau das ist und ich bin verloren, im gleichen Szenarien die Menschen schweigen xml, in meinem Kopf ich denke, es bedeutet, wie 01010011000 (Binär), und wenn ich mir andere code sieht es aus wie eine normale text-Datei speichern.

Was genau meint er damit, und kann mir jemand post ein Beispiel, oder geben Sie mir eine Website, die besser verdeutlicht?
Sobald ich sehe, was ich wirklich brauchen, kann ich es implementieren, ist es leicht, ich bin einfach verwirrt, was genau wird gespeichert (Daten-Weise) und wie.

*Ich habe bereits eine option zum speichern via Textdatei (.txt) wenn ich nur einige, die code für diese binäre Teil.

Dank!

Hier ist, was ich jetzt habe, funktioniert es immer noch nicht, denke ich.

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;
    }
}
Siehe diese Antwort: stackoverflow.com/a/6683609/597657
Das habe ich versucht, aber ich denke, dass ich versagt habe. haha (ich fügte hinzu, mehr code oben auch)
Wauw! Erstens, re-throw exceptions oder zumindest zu protokollieren. Sie haben keine Ahnung, was passiert, wenn Sie lassen Sie Ihre catch-Blöcke leer. Möglicherweise geben Sie einen Hinweis darauf, was passiert.
gut, ja...aber wie meine Serialisierung-speichern/laden von setup-richtig oder falsch? Ich will einfach nur, um zu speichern, die double array-Objekt, dann bekommen Sie es zurück. Und etwas nicht funktioniert. Wie bei den catch-Blöcken Sie sind nur den Umgang mit Datei-Ausnahmen Recht? Ich weiß, die Datei wird neu geladen, und ich weiß, dass es speichert, also auch, wenn ich log Sie, es wird nicht egal, bei diesem Schritt, richtig?
Sie können nicht speichern von Arten von java.lang.Objekt, wie es implementiert nicht die Schnittstelle Serializable, die erforderlich ist für die Objekt-Serialisierung.

InformationsquelleAutor Austin | 2012-03-21

Schreibe einen Kommentar