Bonjour,
Merci pour cette réponse. J'ai testé sans le using. Effectivement, ça résout mon problème . Mais un autre pb se présente. Je boucle sur le ReadAsync pour me remettre en attente de la prochaine sortie de texte. Mais il retourne immédiatement et je récupère toujours la chaîne précédente.
Faut-il vider les données du StreamReader ? Si oui , comment ? Ou bien faut-il lui indiqué la position x courante ? Mais comment la connaitre ?
ReadAsync(result, x, 500);
Merci.
Pendloup
Voici la boucle :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| private async void StartRead()
{
char[] result = new char[5000];
StringBuilder builder = new StringBuilder();
do
{
try
{
//using (myStreamReader)
{
await myStreamReader.ReadAsync(result, 0, 500);
}
}
catch (Exception e)
{
}
foreach (char c in result)
{
if (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c))
{
builder.Append(c);
}
}
TextOutput.Text = builder.ToString();
builder.Clear();
}
while (true);
} |
Partager