Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo.
Ich habe mich mal ein wenig mit dem Arbeiten mit Dateien in Java beschäftigt und versucht einen Überblick über die mir gegebenen Möglichkeiten zu bekommen.
Dabei habe ich für mich zusammengefasst, dass ich wohl die Auswahl habe Dateien sequenziell als Streams zu bearbeiten oder per RandomAccessFile Objekt eigentlich flexibel in der zu agieren. (Wenn ich bis hierher schon was falsch verstanden habe -> nutzt einen Hammer und zielt auf meinen Kopf ;->)
Nun stelle ich mir die Frage:
Welchen Vorteil hat der Sequenzielle Zugriff auf eine Datei? Geht es hierbei um Speicherprobleme (also dass ich eine Datei von 4 Gigabyte nicht auf einmal einlesen will)? Sonst fällt mir kein sinnvoller Vorzug von Streams zu einer flexiblen Handhabung ein.
Eine wirkliche Antwort auf die Frage habe ich auch online nicht gefunden und hoffe ihr könnt mir da weiterhelfen.
Gibt es evtl. noch Handhabungen für den Umgang mit Dateien, die in manchen Situationen besser sind als die 2 von mir gefundenen Möglichkeiten? (nur eine kleine Frage am Rande - wenn das unter die Kathegorie "such halt im Forum" fällt holt bitte wieder den Hammer und haut mich zu der Suchfunktion :>)
Schon mal ein ganz großes Danke schön!! für Antworten.
Hm ja da muss ich mich noch weiter einlesen. Bisher kann ich z.B. keinen Unterschied erkennen zwischen dem FileChannel, den mir ein FileInputStream liefert und dem, den mir ein RandomAccessFile liefert - aber da komm ich wohl noch drauf
Irgendwie bringt mich das aber auch wieder zurück zu meiner Ursprungsfrage: Gibt es einen Vorteil von einem FileInputStream im Vergleich zu einem RandomAccessFile-Objekt? (Bzw. ist dieser Vorteil evtl der Speicheraufwand?)
Und in welchem Fall ist denn welche Handhabung zu bevorzugen? (Situationsbedingt vs. Geschmackssache?)
Wichtig ist in diesem Zusammenhang auch der Interface "Serializable". Damit kannst du ganze Objekte per FileOutputStream / FileInputStream speichern und wieder laden.