2010-01-11 5 views
0

Est-il possible de créer un fichier sur un disque plein?Création de fichier sur le disque complet

La création du fichier prend-elle de la place? Fondamentalement, je vois un cas où C# a créé mais n'a pas réussi à écrire quoi que ce soit qui pointe vers un disque complet.

Est-ce que quelqu'un sait si la création d'un fichier sur un disque complet échouera ou non?

Ce wa fait en utilisant C# o Windw xSerevr- Le fichier journal a également été écrit sur le même lecteur

+0

Je ne connais pas la réponse à votre question, mais pour votre cas, est-ce que la vérification de l'espace disponible n'est pas une option? –

+1

@Pekka: Vérifier l'espace au préalable * peut fonctionner * dans la plupart des cas, mais ce n'est pas sûr. C'est un scénario classique pour les exceptions. Que se passe-t-il si l'espace libre a été consommé par quelqu'un d'autre entre le contrôle et le fonctionnement réel des E/S? –

Répondre

2

Création de fichiers (vide) devrait être encore possible dans la plupart des cas. La table MFT est une partie distincte du volume qui ne sera pas utilisée pour les données de fichier.

Il devrait même être possible de stocker de petites quantités de données sans avoir besoin de plus que l'entrée de fichier dans la MFT. NTFS peut stocker des flux comme "resident data" dans le descripteur de flux qui n'a pas besoin d'espace supplémentaire, mais ne fonctionne que pour les très petits fichiers.

Je pense que votre problème est un autre problème, cependant. Il se peut que vous ayez des permissions pour créer un fichier mais pas pour y écrire quoi que ce soit. Vous voudrez peut-être vérifier les ACL de l'endroit où vous essayez d'écrire.

+2

Données de fichier réelles dans le fichier MFT? Je n'ai jamais su ça. Semble très étrange :) – Thorarin

+0

Thorarin: http://en.wikipedia.org/wiki/Ntfs#Resident_vs._non-resident_data_streams ... eu un peu tort, cependant. Je vais corriger. – Joey

Questions connexes