PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datum in Textdatei schreiben und lesen!


anfänger25
19.10.2003, 21:35
Hallo,

ich habe einen Dienst geschrieben, welcher jeden Tag um eine bestimmte Uhrzeit eine Aktion ausführt. Falls nun der Rechner zu dieser bestimmten Uhrzeit aus war, sollte er dann beim Rechnerstart sofort die Aktion durchführen um auf den aktuellen Stand zu sein.
Dazu soll eine Textdatei mit dem aktuellen Datum der Durchführung angelegt werden und bei einem Neustart des Dienstes soll dieses Datum eingelesen werden um ggf. die Aktion aus zu führen.

Da ich noch nichts mit schreiben und lesen von Dateien zu tun hatte, kann mir vielleicht hier jemand helfen.
Also ich müßte das aktuelle Datum in eine Textdatei schreiben und auch aus ihr wieder lesen können, dann einen vergleich mit dem aktuellen Datum durchführen und ggf. die Aktion durchführen.
Kann mir da einer einen Beispiel code vorschlagen.

Vielen Dank schon mal!
anfänger 25


TommySZB
20.10.2003, 13:40
Für solche Zwecke bietet das Framework die Klassen: StreamReader und StreamWriter an, ausführliche Beispiele stehen in der Hilfe.
Gruß

Thomas

Scavi
21.10.2003, 12:17
Noch als Tipp: Verwende DateTime-Objekte, dann ist der Vergleich der Daten leichter.

The_Friendly_C#Guide
07.11.2003, 22:46
//Dateizugriffe mit Streams sind für Anfäger sehr schwer,
//deshalb hier ein einfacher Lösungsvorschlag anhand von 6 Codezeilen:

//Ein StreamWriterObject zum schreiben der Datei erstellen:
System.IO.StreamWriter sw=System.IO.File.CreateText("C:\\log.txt");

//Das aktuelle datum in die Datei schreiben
sw.WriteLine(DateTime.Now.ToLongDateString());

//und den Stream schließen sonst :mauer:
sw.Close();

/* Ok jetzt steht das Datum als Text in der Datei und wir haben gelernt wie man Dateien schreiben kann. Im folgenden lernen wir wie man Text wieder aus einer Datei ausliest und in ein Datum umwandelt. :D */

//Ein StreaReaderObject zum auslesen der Datei erstellen:
System.IO.StreamReader sr=System.IO.File.OpenText("C:\\log.txt");

//Auslesen als Text mit sr.ReadLine();
//und in ein Datum konvertieren DateTime.Parse()
DateTime DatumsObjekt=DateTime.Parse(sr.ReadLine())

//Den Stream schließen, sonst :mauer:
sr.Close();