Prüfen ob sich in .txt was verändert hat?



  • Hallo, wie der Titel schon sagt möchte ich in einer Schleife gucken ob sich der Inhalt einer .txt verändert.
    Nur wie? Die .txt komplett auslesen und gucken ob sie noch so ist wie vorher?
    Wenn dies die einzige Möglichkeit ist, wie liest man eine .txt komplett aus? Ich hab nur gefunden wie man sie Zeilenweise ausliest, was nicht in meinem Interesse ist.
    Oder geht es noch einfacher?

    mfg. Doky



  • Doky schrieb:

    Hallo, wie der Titel schon sagt möchte ich in einer Schleife gucken ob sich der Inhalt einer .txt verändert.
    Nur wie? Die .txt komplett auslesen und gucken ob sie noch so ist wie vorher?

    Genau so!

    Doky schrieb:

    Wenn dies die einzige Möglichkeit ist, wie liest man eine .txt komplett aus? Ich hab nur gefunden wie man sie Zeilenweise ausliest, was nicht in meinem Interesse ist.

    Warum nicht? Dann kannst du sie Zeilenweise vergleichen und die Unterschiede auf die Zeile einschränken. Machen andere Textvergleichstools auch so.

    Doky schrieb:

    Oder geht es noch einfacher?

    Wenn du nur wissen willst, ob die Datei geändert wurde und nicht was, dann reicht es auch nur eine Prüfsumme zu merken. Dies bewahrt dich aber nicht davor alle Zeichen einlesen zu müssen. Ob Zeilenweise oder Zeichenweise oder ..., ist da egal. Du kannst natürlich Trivialtests einbauen, wie Dateigrößen vergleichen oder beim ersten Unterschied stoppen.





  • Wenn es Dir reicht zu wissen, ob sich das Änderungsdatum(/Zeit) der Datei geändert hat, geht es zumindest unter Linux irgendwie mit stat( ) (hab's noch nie gemacht). Andere Systeme haben sicher auch ihre entsprechenden Aufrufe.

    Allerdings prüft das noch nicht den Inhalt, wenn also die Datei absolut identisch wieder und wieder geschrieben wird, würde sich das Datum auch ändern.



  • Unter Windows gibt's so weit ich weiß auch "'ne Funktion" (Name entfallen), die dich informiert, falls sich eine Datei geändert hat (musst eine Callback Funktion übergeben). Ist natürlich wesentlich besser als das dauerhafte Nachfragen über eine Schleife (Stichwort "Busy-Waiting").



  • Knecht Purpecht schrieb:

    Unter Windows gibt's so weit ich weiß auch "'ne Funktion" (Name entfallen), die dich informiert, falls sich eine Datei geändert hat (musst eine Callback Funktion übergeben). Ist natürlich wesentlich besser als das dauerhafte Nachfragen über eine Schleife (Stichwort "Busy-Waiting").

    http://www.codeproject.com/KB/winsdk/MonitorWindowsFileSystem.aspx

    MfG SideWinder



  • Danke für die Antworten!
    Was geändert wurde ist mir egal, ich möchte nur wissen ob es eine Änderung gab. Ich werd mich mal nach euren Vorschlägen erkundigen.



  • Wenn eine (100-ε)-prozentige sicherheit ausreicht, berechne eine SHA-Summe.



  • http://www.packetizer.com/security/sha1/

    Die hier verwende ich, die ist recht einfach und übersichtlich. Da braucht man sich nicht mit Monstern wie Crypto++ rumschlagen :).


Anmelden zum Antworten