25 Stimmen

Gibt es eine Obergrenze für die Größe von .txt-Dateien?

Als Weihnachtsgeschenk habe ich ein kleines Programm in Java geschrieben, um Primzahlen zu berechnen. Ich hatte vor, es die ganze Nacht laufen zu lassen, um die nächste Primzahl zu berechnen und sie in eine .txt-Datei zu schreiben. Am nächsten Morgen würde ich das Programm beenden und die .txt-Datei meinem Freund zu Weihnachten schenken.

Gibt es etwas, worüber ich mir Sorgen machen sollte? Denken Sie daran, dass Sie mit dem echten Anfänger Ziggy sprechen und nicht mit einem schlauen ASM-Typen, der Fehler überprüft.

EDIT Genauer gesagt, da ich dieses Programm die ganze Nacht über laufen lassen werde, um Primzahlen zu zählen, besteht da überhaupt eine Chance, dass ich auf irgendeine Art von speicherbezogenem Fehler stoßen werde? Wie z.B. Stapel, die Haufen zerquetschen oder Hunde und Katzen, die zusammen schlafen?

EDIT noch spezifischer, gibt es eine Codezeile, die ich einfügen könnte, um das Drucken von Zeilen zu stoppen, wenn die Dateigröße 4 GB beträgt? Nur um sicher zu gehen?

EDIT: Erfolg: nachdem ich es die ganze Nacht angelassen habe, habe ich nicht mehr als 13 KB an Primzahlen erhalten. Der höchste Wert war 22947217, das sind zehntausende von Primzahlen. Erfolg!

14 Stimmen

Nächstes Jahr kannst du deinem Freund eine Schachtel mit Fibonacci-Zahlen schenken ;o)

0 Stimmen

Heh. Ich habe noch irgendwo eine CD mit der Ausgabe meines ersten Primzahlengenerators. Ein unkomprimierter 256-Megabyte-Bitstream, der für jede ungerade Zahl kleiner als MAXINT wahr/falsch ist. Es hat knapp einen Tag gedauert, bis ich fertig war :-)

0 Stimmen

Das ist ein wunderschönes Weihnachtsgeschenk!

18voto

John Sonmez Punkte 7010

Ich würde empfehlen, für jede berechnete Primzahl eine SMS zu senden. Das wird Ihrem Freund viel besser gefallen als ein Bündel Papier. Außerdem kann er so viel öfter auf den neuesten Stand gebracht werden.

8voto

Es gibt viele Beschränkungen, obwohl keine davon für .txt-Dateien typisch ist:

  • Windows 9x Notepad öffnet keine Dateien > 64KB.
  • Der Notepad von Windows NT/2k/etc hat keine Begrenzung, neigt aber dazu, sich bei Dateien mit mehreren Megabyte zu verschlucken und zu blockieren. Sie müssen auch bedenken, dass die meisten Texteditoren dumm sind und versuchen, die gesamte Datei in den RAM zu lesen.
  • Viele Software ist auf 2 GB oder 4 GB begrenzt, je nachdem, ob sie signierte oder unsignierte Ints verwendet - wie bereits jemand erwähnt hat, ist FAT32 daran schuld.

8voto

Cadoo Punkte 751

Höchstwahrscheinlich verwenden Sie einen Algorithmus, der langsam ist. Wenn die Primzahlen größer werden, braucht Ihr Programm immer länger, um eine einzelne Primzahl zu berechnen. Wenn Sie es über Nacht laufen lassen, wird die Textdatei am nächsten Morgen nicht sehr groß sein. Ich wäre beeindruckt, wenn sie mehr als ein paar Megabyte groß wäre.

2voto

Benjamin Autin Punkte 4075

Technisch gesehen gibt es keine Grenzen, außer denen, die Ihnen das Dateisystem auferlegt. Allerdings ist Notepad sehr empfindlich, wenn es darum geht, obszön große Dateien zu öffnen.

2voto

Jim Blizard Punkte 4256

Vielleicht sollten Sie die Anzahl der Bytes, die Sie in jede Datei schreiben, verfolgen und nach einer bestimmten Anzahl von Bytes zu einer neuen Datei wechseln. Sie könnten auch einen Viewer für Ihre Dateien bereitstellen, damit Ihr Freund sein Geschenk leichter sehen kann :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X