beny100
Messages postés213Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention 1 avril 2009 22 déc. 2006 à 10:13
bonjour , j'ai un problème un peu semblable
sauf que moi je n'arrive pas a lire les fichiers trouvés.
aussi je voudrais pouvoir specifier les extensions des fichiers que je veux trouver.
voici mon code qui refuse la lecture du fichier
// Make a reference to a directory.
DirectoryInfo di =
new
DirectoryInfo(
"C:\");
// Get a reference to each file in that directory.
FileInfo[] fiArr = di.GetFiles();
// Display the names of the files.
foreach (
FileInfo fri
in fiArr)
for (
int i = 0; i < fiArr.Length; i++){
using (
StreamReader sr =
File.OpenText(fiArr[i].ToString())) // il affiche le message d'ereur suivant :Impossible de trouver le fichier 'C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2005\Projects\Windows\Windows\bin\Debug\alarme.txt'.{
while ((Line = sr.ReadLine()) !=
null) ;
Console.WriteLine(Line);}
}
}
pourtant ce fichier existe et son contenu n'est pas vide
aidez moi s'il vous plait
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 22 déc. 2006 à 11:17
Salut,
FileInfo.ToString retourne le nom de fichier seul, ce qui fait que tu tentes de faire une ouverture de fichier dans le répertoire courant (beurk) qui dans ton cas et toujours celui d'execution de l'application, d'où l'erreur.
Donc soit tu utilises Path.Combine pour recréer le chemin complet du fichier pour l'ouverture, soit tu utilises la méthode statique Directory.GetFiles qui elle te renvoi directement un tableau de chaines de caractères avec le chemin complet.
String[] files = Directory.GetFiles("C:\");
Dans ton cas ça me semble le mieux vu que tu ne semble rien faire de plus avec tes instances de DirectoryInfo et FileInfo.
PS : et arrête de faire revivre des sujets vieux de 2 ans, crée un nouveau sujet : sur celui ci tu avais relativement peu de chances d'avoir une réponse, mis à part ceux qui ont encore une alerte définie dessus.