vergleichen - inhalt der datei

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    vergleichen - inhalt der datei

    hallo zusammen,

    ich hätte mal wieder eine frag und ein paar tipps von euch.

    so nun mein kleines problem.

    ich habe 3 dateien, in diesen sollte eigentlich das gleich stehen (z.B. xxxx.txt 23.12.16 17:46)

    nun möchte ich die 3 dateien vergleichen, wenn eine andere zeit unterschiedlich ist dann soll ne meldung kommen.

    dann möchet ich auch noch wenn in einer datei ein eintrag mehr bzw. weniger ist auch ne meldung.

    wie könnte ich dies am besten machen?

    muss ich jede datei mit jeder vergleich oder wie gehe ich das am besten an?

    danke

    charlie883 schrieb:

    zeit
    In solch Datei steht keine Zeit, sondern ein String oder Bytes.
    Wenn die Datei kurz ist, lies sie als String ein und mach einen Stringvergleich.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    hallo,

    ich hab mich vielleicht nicht richtig ausgedrückt, in der datei ist eine auflistung von dateien mit ihrem letzten änderungs zeit.

    nun kann es vorkommen das in der einen datei mehr einträge sind als in der anderen. dies und auch wenn eine weniger drin steht soll zu es zu einer meldung kommen.

    was ich noch vergleichen muss ist natrürlich ob die dateien die gleiche änderungs zeit haben.

    hier mal ein beispiel von den 3 dateien

    datei 1 - - - - - - - - - - - - - - - datei 2 - - - - - - - - - - - - datei 3

    1.txt 01.01.16 0:13- - - - - 1.txt 01.01.16 0:13 - - - - - 1.txt 01.01.16 0:13
    2.txt 02.01.16 9:13- - - - - 2.txt 02.01.16 9:13 - - - - - -2.txt 02.01.16 3:13
    3.txt 03.01.16 0:13 - - - - 3.txt 03.01.16 0:13
    - - - - - - - - - - - - - - - - - -4.txt 01.01.16 0:13


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „charlie883“ ()

    Nein - schaue einmal nach, was eigentlich Equals wirklich macht:
    msdn.microsoft.com/de-de/Library/bsc2ak47(v=vs.110).aspx

    Folgendes wäre ein Ansatz:

    VB.NET-Quellcode

    1. Dim deineFiles As New List(Of String) From {"F:\Test0.txt", "F:\Test1.txt", "F:\Test2.txt"}
    2. Dim txt As New List(Of String)
    3. For Each path In deineFiles
    4. Dim fi As New FileInfo(path)
    5. If Not fi.Exists Then Continue For
    6. Using sr As StreamReader = fi.OpenText()
    7. txt.Add(sr.ReadToEnd())
    8. End Using
    9. Next
    10. 'allgemeiner Vergleich
    11. Dim a = txt.Count
    12. Dim b = txt.Distinct.Count
    13. If a = b Then
    14. MessageBox.Show("alle Dateien sind ungleich")
    15. Else
    16. MessageBox.Show("einige Dateien sind gleich")
    17. End If

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VB1963“ ()

    Definiere

    charlie883 schrieb:

    ob die dateien die gleiche änderungs zeit haben.
    Wann soll bei diesem Vergleich True, wann False rauskommen?
    Wenn das klar ist, können wir überlegen, wie das zu automatisieren wäre.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!