C # Zeile aus Datei mit StreamReader mit DownloadFileAsync lesen

7

Ich habe ein Problem beim Lesen der Datei mit StreamReader und während line != null zu textBox1

hinzufügen

Code:

%Vor%

Es funktioniert nicht und ich weiß nicht warum. Ich habe versucht, using StreamReader zu verwenden, ich lade die Datei von der URL herunter und sehe in dem Ordner, in den die Datei heruntergeladen wurde. Die lastupdate.txt ist 1 KB groß.

Dies ist mein aktueller Arbeitscode mit MessageBox . Wenn ich den MessageBox entferne, funktioniert der Code nicht. Es braucht eine Art von Warten oder ich weiß es nicht:

%Vor%     
user1085907 24.02.2012, 14:10
quelle

5 Antworten

13

Versuchen Sie:

%Vor%     
Pranay Rana 24.02.2012 14:12
quelle
8

Wenn Sie den Text im Textfeld haben möchten, wäre es viel effektiver, alles zu lesen und es dann in das Textfeld einzufügen:

%Vor%

oder:

%Vor%

Bearbeiten:

Nach dem letzten Update - Sie laden die Datei asynchron herunter - es ist möglicherweise nicht einmal da, nur teilweise oder in einem Zustand dazwischen, wenn Ihr Code ausgeführt wird.

Wenn Sie nur die Textzeichenfolge in der Datei nicht herunterladen möchten, verwenden Sie stattdessen DownloadString :

%Vor%     
BrokenGlass 24.02.2012 14:13
quelle
3

Versuchen Sie Folgendes:

%Vor%     
Akrem 24.02.2012 14:15
quelle
1

Web Client hat eine ziemlich bizarre DownloadFileAsync-Methode. Der Rückgabetyp ist ungültig, daher ist dies nicht zu erwarten. Das bedeutet auch, dass wir nicht einmal eine Aufgabe bekommen, daher ist ContinueWith nicht möglich. Damit können wir das DownloadFileCompleted-Ereignis verwenden.

%Vor%

Ich ging mit einem optionalen Ausnahmeparameter, um irgendwelche Ausnahmemeldungen weiterzuleiten. Fühlen Sie sich frei, wie gewünscht umzubauen. File.ReadLines liefert Text Zeile für Zeile, so dass große Dateien nicht sehr viel Speicher belegen sollten.

%Vor%     
thestud2012 29.12.2013 11:18
quelle
0

Die obige Antwort ist richtig, aber in Ihrem Code ändern Sie einfach eine Zeile:

%Vor%     
mindandmedia 24.02.2012 14:14
quelle