2017-09-09 2 views
-1

Ich speichere und hole Objekte mit Serializable zu/von internem Speicher ab; das funktioniert ganz gut. Das Hauptproblem besteht darin, den Pfad zu erhalten, in den Dateien geschrieben werden (im Speicher), indem der unten gezeigte Ansatz verwendet wird (vergib mir, keine Ausnahmen). Ich möchte die Gesamtzahl der im Verzeichnispfad gespeicherten Objekte ermitteln können.Abrufen des Dateipfads von serialisierten Objekten

public static void writeObject(Context context, String name, Object object){ 

    FileOutputStream fos = context.openFileOutput(name, Context.MODE_PRIVATE); 
    ObjectOutputStream oos = new ObjectOutputStream(fos); 
    oos.writeObject(object); 
    oos.close(); 
    fos.close(); 

    }//End of writeObject method 




public static Object readObject(Context context, String name){ 

    FileInputStream fis = context.openFileInput(name); 
    ObjectInputStream ois = new ObjectInputStream(fis); 
    Object object = ois.readObject(); 
    return object; 

    }//End of readObject method 
+0

Die Anzahl der serialisierten Objekte ist 1. Sie fragen, wie viele * Dateien * es gibt? – EJP

+0

@EJP Nein, ich möchte die Anzahl der serialisierten Objekte wissen, die ich zu einem bestimmten Zeitpunkt gespeichert habe. Ich habe das herausgefunden. Ich benutzte einfach getFilesDir(). ListFiles(). Länge, um das zu bekommen. – Taslim

+0

Sie speichern nur ein serialisiertes Objekt pro Datei. Entweder ist die Antwort 1 oder Sie möchten wissen, wie viele Dateien vorhanden sind. Entscheide dich. Dein Kommentar zu @ Commonswares Antwort stimmt mir zu. – EJP

Antwort

4

Wie kann ich den genauen Pfad

Du openFileInput() und openFileOutput() verwenden. Diese Dateien werden an dem durch getFilesDir() identifizierten Ort gespeichert.

auch die Gesamtzahl der in diesem Pfad/Verzeichnis gespeicherten Objekte?

Nun, es scheint, als ob Sie nur ein Objekt pro Datei speichern. Sie können listFiles() auf dem File Objekt verwenden, das von getFilesDir() zurückgegeben wird, um zu sehen, welche Dateien sich in diesem Verzeichnis befinden. Sie müssten dann identifizieren, welche dieser Dateien Ihre Objekte repräsentieren (im Gegensatz zu anderen Dateien, die in diesem Verzeichnis aufgefüllt wurden) und diese zählen.

+0

Arbeitete, danke! – Taslim

Verwandte Themen