Ich habe ein Problem beim Lesen der Datei mit StreamReader
und während line != null
zu textBox1
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:
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
:
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%Die obige Antwort ist richtig, aber in Ihrem Code ändern Sie einfach eine Zeile:
%Vor%Tags und Links c# streamreader readline webclient-download