Problème : nom de répertoire non valide c# [Résolu]

Messages postés
30
Date d'inscription
jeudi 20 mai 2010
Dernière intervention
8 juillet 2012
- - Dernière réponse : Whismeril
Messages postés
12373
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 décembre 2018
- 14 juin 2012 à 18:44
Bonjour,
j'ai un problème avec le FileInfo
en faite j'ai besoin d'fficher la liste des rep et des fichier d'un rep et leurs tailles,
pour le calcul de la taille des rep j'utilise
private Int64 DirectoryLength(DirectoryInfo folder)

{ Int64 bytes = 0;

foreach (FileInfo fi in folder.GetFiles())

bytes += fi.Length;

foreach (DirectoryInfo i in folder.GetDirectories())

bytes += DirectoryLength(i);

return bytes;

}

reps = System.IO.Directory.GetDirectories(chemin);
for (i = 0; i < reps.Length; i++)
{
tailleRep[i] = DirectoryLength(new DirectoryInfo(reps[i]));
}
ça marche alors que pour les fichiers ça génère une exception nom repertoire non valide bien que le chemin est valide

//**********************
files = System.IO.Directory.GetFiles(chemin);
for (j = 0; j < files.Length; j++)
foreach (FileInfo fi in new DirectoryInfo(files[j]).GetFiles())
{
tailleFiles[j] = fi.Length;

}
Afficher la suite 

Votre réponse

3 réponses

Messages postés
30
Date d'inscription
jeudi 20 mai 2010
Dernière intervention
8 juillet 2012
0
Merci
donc il faut tester si la valeur de files[j] est un chemin ou le nom d'un rep, merci bien Whismeril
Commenter la réponse de snakeissat
Messages postés
12373
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 décembre 2018
0
Merci
De rien, mais il t'aurais suffit de survoler les variables de la ligne avec ta souris et d'attendre que l'infobulle s'affiche pour le voir.

@+

Whismeril
Commenter la réponse de Whismeril
Messages postés
12373
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 décembre 2018
-2
Merci
Bonsoir,

pour citer NHenry
Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )

J'ajouterais de penser à l'indentation.

Quand je teste ton code chez moi, ça plante là
foreach (FileInfo fi in new DirectoryInfo(files[j]).GetFiles())


parce que le files[j] a pour valeur "c:\\temp\\toto.txt", et dans toto.txt il n'y a pas d'autres fichiers...

Whismeril
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.