2009-07-14 6 views
2

So schreiben Sie große Inhalte dynamisch mit cis auf die Festplatte. Jeder Rat oder Hinweis wird geschätzt.Programmieren von Dateien mit einer Größe größer als 2 GB mit C#. NET

Ich versuche, eine Datei (benutzerdefiniertes Format und Erweiterung) zu erstellen und darauf zu schreiben. Der Benutzer lädt eine Datei hoch, und sein Inhalt wird in einen Bytestream konvertiert und in die Datei (Dateiname.hd) geschrieben. Die Indizierung der hochgeladenen Dateien erfolgt in einer anderen Datei (Dateiname.hi).

Das funktioniert gut für mich, wenn die "Dateiname.hd" Dateigröße 2 GB ist, wenn es 2 GB überschreitet, erlaubt es mir nicht, den Inhalt hinzuzufügen.Dies ist mein Problem.

Nach dem googeln fand ich, dass das Windows-basierte FAT32-System (die meisten der Versionen) nur 2GB Dateigröße unterstützen. Gibt es irgendeine Lösung für mich, um diese Situation zu behandeln. Bitte lassen Sie mich wissen.

Vielen Dank im Voraus sree

+0

Welche Art von Inhalt? Sie müssen erweitern, sonst wird diese Frage wahrscheinlich geschlossen. – RichardOD

+4

Was Richard, du hast das Internet noch nie zuvor heruntergeladen? – Amadeus45

+0

Bitte spezifizieren Sie die Probleme. –

Antwort

0

Verwenden Stream für auf die Festplatte zu schreiben. StringBuilder wird empfohlen, die Zeichenkette zu erstellen, da bei der Verwendung von 'string' beim Anhängen von zwei Zeichenketten wirklich eine neue Zeichenkette erzeugt wird, was die Darstellung beeinträchtigt.

+0

-1 Diese Antwort hat nichts mit der Frage zu tun. Hat sich die Frage geändert ...? –

+0

ja die Frage änderte sich dramatisch ... – Clangon

6

Verwenden Sie ein anderes Dateisystem (z. B. NTFS)?

0

Okay, Sie werden einige Einschränkungen haben, die nicht Code-bezogen sind: Dateisystem - FAT und FAT32 werden Sie einschränken. Ob das System 16, 32 oder 64 Bit ist, wird Ihnen Einschränkungen auferlegen.

+0

Hallo Chris, Meinst du, dass wir eine Datei größer als 2 GB erstellen können? – Charan

+0

Nein. Wenn Sie FAT32 verwenden, beträgt die maximale Dateigröße tatsächlich 4 GB (vorausgesetzt, Sie haben 4 GB freien Speicherplatz), FAT16 ist 2 GB. Sind Sie sicher, dass Sie Bytes und keine Zeichen verwenden? Eine Alternative besteht darin, Ihre geschriebenen Daten in eine andere Datei zu übertragen und den Dateinamen und den Index in Ihre Indexdatei einzufügen. Verknüpfen Sie dann die beiden mit der Methode, die Sie derzeit verwenden, um Daten aus Ihrer Datendatei zu erhalten. – ChrisBD

+0

Sie wollen sagen, ich habe keine andere Option als eine andere Datei zu erstellen, wenn man voll ist, oder? – Charan

Verwandte Themen