Lesen von Objekten aus Random-Access-Datei

Schrieb ich eine Datei mit Java FileChannel-Klasse, die verwendet RandomAccessFiles. Ich schrieb von Objekten an verschiedenen Standorten in der Datei. Die Objekte wurden von Variablen Größen, aber alle von der gleichen Klasse. Ich schrieb die Objekte mithilfe der folgenden Idee :

ByteArrayOutputStream bos= new ByteArrayOutputStream();
        ObjectOutput out = new ObjectOutputStream(bos);
        out.writeObject(r);
        byte[] recordBytes= bos.toByteArray();

    ByteBuffer rbb= ByteBuffer.wrap(recordBytes);

    while(rbb.hasRemaining()) {
        fileChannel.write(rbb);
    }



Nun will ich Lesen aus dieser Datei. Ich will nicht angeben, die Anzahl der zu lesenden bytes. Ich möchte in der Lage sein, zu Lesen, das Objekt direkt mit dem Objekt-Eingabestream. Wie dies zu erreichen ?

Ich haben auf Random Access-Dateien, weil ich brauche, um zu schreiben, um die unterschiedlichen Positionen in der Datei. Ich bin auch die Aufzeichnung in einer separaten Datenstruktur, die Orte, an denen Objekte geschrieben wurden.

InformationsquelleAutor AnkurVj | 2011-09-12
Schreibe einen Kommentar