Jede Datei in Ordner einlesen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von MemoAnMichSelbst.

    Jede Datei in Ordner einlesen

    Hallo,
    ich habe schon viele hilfreiche Lösungsvorschläge hier erhalten und hoffe, dass es auch dieses Mal klappt.

    Folgendes Problem:
    Ich möchte gerne jede einzelne Datei in einem bestimmten Ordner auslesen und in einer RichTextBox ausgeben.

    Bsp.:
    TextDatei1.txt (beinhaltet): Text1
    TextDatei2.txt --> Text2
    ...

    RichTextBox --> Text1 Text2 ...

    Die Namen der Dateien sollen aber keine Rolle spielen, d. h. sie sollen jeden x-beliebigen Namen haben können.


    Ich hoffe mein Problem ist gut beschrieben.
    Andoro Browser (V. 4)
    The new technology of browsing the web.
    Link to browser.
    Da würde ich mir erstmal eine Liste der Dateien überhaupt holen.

    Und wenn man die hat (nicht vorher), kann man die auch einlesen, und auch den Inhalt anne Richtextbox anhängen, aber das ist eine andere Baustelle.

    Also zu Liste der Dateien holen gibts was von RationPharm: Rekursive Dateisuche mit anonymer Methode
    Wo soll ich die For Each Schleife einbauen?

    Denn wenn ich sie im Sub GetFilesAndFolders einbaue, kommt folgender Fehler: 'ReadAllText' is not a member of 'System.IO.FileInfo'.
    Andoro Browser (V. 4)
    The new technology of browsing the web.
    Link to browser.

    VB.NET-Quellcode

    1. Dim di As New DirectoryInfo("C:\Temp\")
    2. Dim text As String = ""
    3. For Each _file In di.GetFiles("*.txt", SearchOption.AllDirectories)
    4. text &= File.ReadAllText(_file.FullName)
    5. Next


    Es gibt System.IO.File und hier verdaddelt er sich bei der Benamung file in Files mit dem IO.File.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Immer beachten, dass VB nicht Case Sensitive ist. Also ist für ihn file = File.
    Da System.IO importiert sein wird, hast mit der Definition file innerhalb der Schleife mal eben das System.IO.File rausgekickt.
    Ums zu präzisieren hättest nun entweder System.IO.File.ReadAllText schreiben können, oder eben die lokale Variable umbenennen.
    Fraglich ist aber noch wieso so viel Text in ne RTB geladen werden soll.
    Wobei jetzt viel relativ ist. Aber wennst alle Dateien aus nem Verzeichnis oder gar derer Unterverzeichnisse holst, könnt ich mir vorstellen dass das Control da ins Schwitzen kommen wird.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D