2010-02-05 7 views
1

J'utilise le code suivant pour écrire dans un fichier compressé que je crée à chaque fois. Toutefois, lorsque j'exécute ceci, j'obtiens une exception IOException avec le message "Espace disque insuffisant". Cependant, il y a 19 Go d'espace disponible sur le disque sur lequel j'écris le fichier. Selon les documents pour GZipStream, il ne peut pas être utilisé pour écrire un fichier supérieur à 4 Go..NET GZipStream et l'exception d'espace disque

Cependant, le fichier écrit jusqu'à présent n'a que 250 Mo.

est ici l'exception:

Type: System.IO.IOException Exception Msg: Il n'y a pas assez d'espace sur le disque.

exception interne: StackTrace: à System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath) à System.IO.FileStream.WriteCore (Byte [tampon], Int32 offset, compte Int32) au système. IO.FileStream.FlushWrite (Boolean calledFromFinalizer) à System.IO.FileStream.Dispose (Boolean élimination) à System.IO.Stream.Close() à System.IO.Compression.DeflateStream.Dispose (Boolean disposer) à System.IO.Stream.Close() à System.IO.Compression.GZipStream.Dispose (Boolean disposing) à System.IO.Stream.Close() à System.IO.StreamWriter.Dispose (Boolean disposition) à System.IO.StreamWriter.Close()

En outre, ce n'est pas un fichier réseau.

Des idées de ce que je fais mal ici?

+0

"sur le lecteur sur lequel j'écris le fichier": c'est un lecteur local ou réseau? –

+0

peut-être que vous devriez montrer du code supplémentaire. Les trois instructions utilisant elles-mêmes ne semblent pas causer de problème. Aussi, quelle est l'exception stacktrace? – Cheeso

Répondre

0

Ce message peut apparaître si le quota de disque attribué à l'utilisateur a été atteint.

Un administrateur peut définir le quota par utilisateur en cliquant avec le bouton droit sur le disque dans Poste de travail, en choisissant Propriétés et en utilisant l'onglet Quota.

Vérifiez que les quotas sont désactivés ou que l'utilisateur de votre application est en cours de validité, car le quota est suffisant.

+0

Oui, comme je l'ai mentionné, la machine a beaucoup d'espace disque disponible lorsque cela se produit. En outre, le quota utilisateur n'est pas épuisé. – feroze

0

Modifier le mode FileShare à exclusif pour voir si cela fait une différence, je ne comprends pas pourquoi le FileShare est défini en lecture/écriture? N'importe quelle explication pour cela, lors de la compression, le fichier devrait être exclusif pour que le gzip fonctionne correctement ...

Espérons que cela aide, Cordialement, Tom.