Est fichier vide vérifier
Comment puis-je vérifier si un fichier est vide en C#?
J'ai besoin de quelque chose comme:
if (file is empty)
{
//do stuff
}
else
{
//do other stuff
}
Vous devez vous connecter pour publier un commentaire.
Utilisation FileInfo.Longueur:
Vérifier la Existe propriété pour savoir, si le fichier existe.
new FileInfo( "file" ).Length
va jeter unFileNotFoundException
si le fichier n'existe pas, donc si il ya un cas où le fichier n'existe pas, assurez-vous de vérifier laExists
de la propriété avant de vérifierLength
.Le problème ici est que le fichier système est instable. Considérer:
Cela peut arriver. Généralement, la façon dont vous avez besoin pour gérer les fichiers-io scénarios est de repenser le processus d'utilisation des exceptions blocs, puis de mettre votre temps de développement dans l'écriture de bons gestionnaires d'exception.
else if
.J'ai constaté que la vérification de la FileInfo.Longueur de champ n'est pas toujours le cas pour certains fichiers. Par exemple, et vide .pkgdef fichier a une longueur de 3. Donc, j'ai eu à lire tout le contenu du fichier et le retour de savoir si c'est égal à une chaîne vide.
C'est comment j'ai résolu le problème. Il vérifie si le fichier existe d'abord, puis vérifiez la longueur. Je voudrais examiner un fichier inexistant à être effectivement vide.
Que si le fichier contient des espaces?
FileInfo("file").Length
est égal à 2.Mais je pense que le fichier est vide (n'a pas de contenu à l'exception des espaces (ou des sauts de ligne)).
J'ai utilisé quelque chose comme cela, mais quelqu'un at-il une meilleure idée?
Peut aider à quelqu'un.
IEnumerable.ToList().Count == 0
vous pouvez utiliser!IEnumerable.Any()
. Éviter de lire l'ensemble de la liste.En plus de la réponse de @tanascius, vous pouvez utiliser
Et il le fera seulement si le fichier existe, dans l'instruction catch vous pouvez créer un fichier, et d'exécuter du code agin.
Vous pouvez utiliser cette fonction que si votre fichier existe et est toujours copié à votre debug/release répertoire.