FileWriter Neue Datei wenn aktuelle "zu groß"

Marc T.

Bekanntes Mitglied
Hallo,

Ich muss einige Daten in eine Textdatei schreiben. Ich möchte am Ende allerdings nicht
mit einer 30 GB Textdatei arbeiten, da ich diese auch mal manuell überprüfen (also lesen)
würde.

Ich möchte deshalb, dass mehrere maximal 10 MB große Dateien erzeugt werden.

Ich habe also eine Ausgangsdatei von mir aus "file_1.txt" und möchte sobald diese
Datei 10 MB groß ist, dass eine neue Datei erzeugt wird "file_2.txt" und dann weiter
in diese Datei geschrieben wird.

Lässt sich das einfach realisieren oder geht es schneller wenn ich einfach 1 Millionen
Zeilen in die erste Datei schreiben und dann die nächste Millionen in die andere Datei.
 
Hi

Kommt genau auf Deine Anforderungen an!
Warscheinlich ist es einfacher zu sgen bei 1mio ist die nächste dran.

Alternativ kannste nactürlich immer mal abprüfen wie groß die Datei geworden ist.

Java:
File myFile = new File("file_1.txt");
long l = myFile.getTotalSpace();

Gruß
 
Zuletzt bearbeitet:
Meiner Meinung nach der falsche Ansatz.

Ich würde dir empfehlen die Daten nach einem relativ wichtigen Kriterium zu gruppieren (Alle aus einem Monat, alle von Kunde Xyz, etc), und dann pro "Gruppe" eine Datei anzulegen. Das ist langfristig viel übersichtlicher, als wenn du Dateien "file_1" bis "file_109" auf der Platte hast.

Ich bin sicher, es lässt sich ein vernünftiges Kriterium finden, nach dem man deine Daten gruppieren kann. 😉
 
Gruppierung ist nicht notwendig, da ich keine Übersichtlichkeit brauche 😀

Ich konvertiere derzeit die Freebase Datenbank in eine Graph-Datenbank.
Ich schreibe hierbei Scripte, die ich meiner Graph-Datenbank beim start
übergebe, um die Freebase-Daten zu importieren.
Da der aktuelle Freebase Datenbank-Dump über 300 Gigabyte groß ist
und selbst nach dem Löschen von allen überflüssigen Daten immer noch
100 Gigabyte übrig bleiben, teile ich das ganze nun in mehrere Skripte
auf. Die Lösung aller "Je Millionen Zeilen eine neue Datei" ist
ausreichend.
 

Zurück
Oben