RandomAccessFile - "insert" implementieren?

A

asfj

Gast
Hi,

ich habe hier eine sehr große Datei, die meinen Arbeitsspeicher übersteigt ~10GB, in dieser Datei stehen zeilenweise Einträge drin. Mein Problem ist nun, dass ich in diese Datei hineinschreiben will. Ich lese bis zu einem bestimmten Punkt, wo der neue Eintrag rein soll und dann möchte ich "einfügen".

Das dumme ist aber, dass ich aber nur schreiben kann und mir dadurch dann andere Einträge kaputt schreibe bzw. überschreibe. Wie krieg ich am einfachsten ein "insert" hin, wie man das auch aus Texteditoren kennt?

Weiß das jemand?
 
G

Gast2

Gast
Ich glaube nicht, dass du einfach in der Mitte von nem File was zwischenschieben kannst.
Du könntest alles was hinter der Einfügeposition ist nach hinten schieben und dann die neuen Daten schreiben. Bei ner 10GB Datei könnte das allerdings ein wenig dauern..
 
A

asfj

Gast
Ja, genau das will ich vermeiden. Ein Insert in einem Dateistrom ist also nicht möglich?
 
S

Spacerat

Gast
Also Textverarbeitungen arbeiten stets an einer Kopie der eigentlichen Datei, welche in mehrere Puffer unterteilt wird, von denen dann genau nur einer im Speicher ist und dort in seiner Grösse varieren darf. Während dieser verändert wird, zeigt ein Zeiger in der Datei stets auf den Anfang des Puffers, welcher sich gerade im Speicher befindet, damit dieser dann auch genau wieder an diese Stelle geschrieben werden kann. Bevor man ihn aber schreiben kann, müssen die jeweils folgenden einzeln, fortlaufend bis zum Schluss zusätzlich in den Speicher geholt und nacheinander wieder geschrieben werden. Das Ganze lässt sich auch relativ umständlich automatisieren, damit nicht ständig auf der Platte gekratzt wird. Man protokolliert sämtliche Änderungen am Text mit Puffernummer, Pufferzeigern und Änderungsart (insert, remove usw.) in einer Liste und lässt hin und wieder einen Thread laufen, der die Arbeitskopie lt. dieser Liste aktualisiert, also diese Umkopiererei übernimmt. Ein finales Speichern beschränkt sich dann nur noch auf das Löschen des Originals und dem Umbenennen bzw. Duplizieren der Arbeitskopie.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S RandomAccessFile durch bytearrayinputstream ersetzen Allgemeine Java-Themen 4
A RandomAccessFile.read(byte[] b) Allgemeine Java-Themen 9
Iron Monkey RandomAccessFile - Bestimmte Filesize begrenzen Allgemeine Java-Themen 4
H RandomAccessFile - Zeile finden Allgemeine Java-Themen 5
C RandomAccessFile aus Jar Allgemeine Java-Themen 7
T Mit Applet per RandomAccessFile Datei öffnen Allgemeine Java-Themen 3
reibi RandomAccessFile Puffer schreiben Allgemeine Java-Themen 2
J RandomAccessFile readLine(); Allgemeine Java-Themen 5
R RandomAccessFile springt zum Ende Allgemeine Java-Themen 11
P Nochmal RandomAccessFile Allgemeine Java-Themen 6
N RandomAccessFile überschreibt Inhalt Allgemeine Java-Themen 3
A RandomAccessFile - Bytes vom Anfang der Datei löschen Allgemeine Java-Themen 32
B Probleme mit RandomAccessFile Allgemeine Java-Themen 3
R Knacken bei RandomAccessFile Allgemeine Java-Themen 5
K RandomAccessFile und readUTF/writeUTF Allgemeine Java-Themen 4
T RandomAccessFile im .jar Allgemeine Java-Themen 2
M RandomAccessFile Allgemeine Java-Themen 10
J RotSchwarzBaum: Löschen mittels insert-Methode Allgemeine Java-Themen 20
F SQLite mit Java / Probleme beim INSERT Befehl Allgemeine Java-Themen 4
B JBUILDER Run As INSERT INO funktioniert nicht bei DEBUG scho Allgemeine Java-Themen 3
S Syntax Error, insert "AssignmentOperator Expression&amp Allgemeine Java-Themen 3
G Problem mit Insert in DB Allgemeine Java-Themen 16
L Buchungssystem implementieren Allgemeine Java-Themen 2
M Kann man Annotationen auf Klassen einschränken die ein Interface implementieren? Allgemeine Java-Themen 1
MiMa Was sollte man ins JavaDoc implementieren?? Allgemeine Java-Themen 17
L Generator für einen Parser implementieren Allgemeine Java-Themen 13
L Template Engine entwerfen und implementieren Allgemeine Java-Themen 4
D OOP Gemeinsamen ID-Raum für zwei Klassen implementieren Allgemeine Java-Themen 7
P BruteForce Ansatz implementieren Allgemeine Java-Themen 32
A Breitensuche mit Hop-Distanzen in Java - Wie implementieren? Allgemeine Java-Themen 4
M Maven Deutsche Post API implementieren Allgemeine Java-Themen 2
S Eclipse Probleme beim Implementieren / Ausführen von jUnit 5-Test Suites Allgemeine Java-Themen 14
N Best Practice Allgemeines Verhalten für ein Interface implementieren? Allgemeine Java-Themen 7
K Geschätze Zeit implementieren Allgemeine Java-Themen 14
B Live Search implementieren Allgemeine Java-Themen 4
S Threads Kann mir jemand helfen eine parallele Hilfsklasse zu implementieren..? Allgemeine Java-Themen 3
T Generisch implementieren Allgemeine Java-Themen 31
J Wie implementieren, Frge an die Erfahrenen... Allgemeine Java-Themen 7
M Interface einer Library implementieren Allgemeine Java-Themen 3
F Schlüsselworte RSA Verschlüsselung implementieren Allgemeine Java-Themen 5
H Copy Paste implementieren ausserhalb des Programms? Allgemeine Java-Themen 2
D Aufgabe: Schnittstelle und Proxy implementieren Allgemeine Java-Themen 2
B Best Practice HTML Output Optimal implementieren Allgemeine Java-Themen 3
I Mehrfaches Implementieren eines generischen Interface Allgemeine Java-Themen 9
DStrohma In abstrakter Klasse Konstruktor von Instanz implementieren Allgemeine Java-Themen 11
X Modalität von JDialog nachträglich in JFrame implementieren? Allgemeine Java-Themen 8
O Plugin perfomrant implementieren Allgemeine Java-Themen 12
P InterfaceMethoden nicht implementieren Allgemeine Java-Themen 5
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
nrg Wie würdet ihr eine "Dauerschnittstelle" implementieren? Allgemeine Java-Themen 5
T Von JComponent erben und Set implementieren Allgemeine Java-Themen 2
D Wozu runnable implementieren? Allgemeine Java-Themen 3
D PriorityQueue selbst implementieren Allgemeine Java-Themen 15
E Wie Assoziationen implementieren in Java Allgemeine Java-Themen 22
B mathematische Formeln, umformungen nicht einzeln implementieren Allgemeine Java-Themen 6
J Undo auf eine ArrayList implementieren Allgemeine Java-Themen 3
deetee ListIterator implementieren Allgemeine Java-Themen 3
A feststellen, welche Klassen ein Interface implementieren Allgemeine Java-Themen 3
B Generisches Singleton implementieren Allgemeine Java-Themen 12
T Interface "on-the-fly" implementieren? Allgemeine Java-Themen 3
G Interface - Klassen implementieren das - Reflection ok? Allgemeine Java-Themen 4
G Interface mehrfach implementieren Allgemeine Java-Themen 5
@ zur Laufzeit Interface aus jar implementieren? Allgemeine Java-Themen 5
MQue Vector implementieren Allgemeine Java-Themen 2
MQue Interface implementieren Allgemeine Java-Themen 7
P Liste von Klassen die ein Interface implementieren speichern Allgemeine Java-Themen 12
MQue Methode aus run() aufrufen bzw. implementieren Allgemeine Java-Themen 5
G Collections als Array implementieren Allgemeine Java-Themen 2
P Page Rank Algorithmus implementieren Allgemeine Java-Themen 7
R Interface mittels Reflection implementieren Allgemeine Java-Themen 8
N 2 Interfaces mit Methoden selber Signatur implementieren Allgemeine Java-Themen 5
C Implementieren einer Schnittstelle (Interface), Ausnahmen Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben