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

snakeissat 30 Messages postés jeudi 20 mai 2010Date d'inscription 8 juillet 2012 Dernière intervention - 14 juin 2012 à 15:27 - Dernière réponse : Whismeril 12122 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 octobre 2018 Dernière intervention
- 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

snakeissat 30 Messages postés jeudi 20 mai 2010Date d'inscription 8 juillet 2012 Dernière intervention - 14 juin 2012 à 18:39
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
Whismeril 12122 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 octobre 2018 Dernière intervention - 14 juin 2012 à 18:44
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
Whismeril 12122 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 octobre 2018 Dernière intervention - 14 juin 2012 à 18:18
-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.