nerix27
Messages postés86Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention21 juin 2007
-
27 avril 2006 à 15:12
nerix27
Messages postés86Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention21 juin 2007
-
28 avril 2006 à 14:33
Bonjour,
je rencontre dans l'une de mes applis un problème de lecture de fichier...
En fait, je dois créer un fichier en y mettant quelques lignes avec un "StreamWriter".
Après l'écriture je le ferme avec l'instruction .Close()
Quelques instructions plus loin, je dois aller récupérer les infos écrites dans ce fichier avec un "StreamReader" :
StreamReader monStreamReader = new StreamReader("c:\\driveinfo_" + drive.Substring(0, 1).ToLower() + ".txt");
Il me sort une erreur à cette ligne comme quoi le fichier est déjà ouvert...
Je suppose qu'il faut un certain temps d'exécution pour la fermeture du fichier lors j'écris dedans. Mais comment réèllement le fermer avant de le réouvrir en mode lecture ????
nerix27
Messages postés86Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention21 juin 20072 27 avril 2006 à 15:22
Entre la fermeture du fichier (en mode écriture) et l'ouverture du fichier (em mode lecture), je dois mettre cette instruction car le système n'a pas le temps entre les 2 instructions de créer physiquement le fichier :
nerix27
Messages postés86Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention21 juin 20072 27 avril 2006 à 15:44
Toujours pareil, pas le temps de créer physiquement le fichier...
En fait je peux peut être résoudre d'une autre manière...
Voici exactement ceque je fais :
Dans le fichier j'écris le résultat d'une commande DOS...
Et pour l'analyser, j'ai rien trouvé d'autre que de rédiriger la réponse de la commande dans un fichier texte, et tout de suite après de lire le fichier pour intégrer la réponse à mes données dans mon appli...
Y-a-t'il un moyen de récupérer directement les données d'une commande DOS sans passer par un fichier ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
dgouttegattat
Messages postés129Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 décembre 20073 27 avril 2006 à 16:27
Bonjour nerix27,
Tu peux lire directement la sortie standard d'un programme en utilisant la propriété StandardOutput de l'objet Process. Un bref example:
Process process = Process.Start(processInfo);
StreamReader processOutputReader = process.StandardOutput;
while (processOutputReader.Peek() > -1) {
// Fais ce que tu veux avec le contenu du fichier...
Console.WriteLine(processOutputReader.ReadLine());
}