Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich habe ein Problem und zwar:

Ich soll mit meinem Programm eine Datei.txt einlesen und den Inhalt der .txt mit dem Inhalt eines Ordner vergleichen (liegen nur Bilder drin) und dann Ausgeben ob es identisch ist, wenn nicht sollen die Bilder (aus dem Ordner) was nicht in der .txt stehen gelöscht werden.

Könnt Ihr mir helfen ich stehe dan komplett auf dem Schlauch

Vielen Dank schon einmal im vorraus für eure Hilfe!

MFG PhilippVP

  • Autor

Hast du da vllt mal ein genauseres Beispiel wo des vor kommt oder hat das schon einmal jemand voneuch gemacht, wo er mich an seiner Lösung mit Teil haben lassen kann. Ich weiss nicht genau wie ich da ran gehen soll :(

Alles Links von Goulasz verweisen auf die MSDN. Dort gibt es genug Beispiele zu den entsprechenden Klassen. Auch wie man Dateien öffnet und ausliest findest Du da bzw. auch per Suchmaschine. Wie sieht den Dein bisheriger Code aus?

Ansonsten kann ich Dir anbieten, das Programm zu schreiben, wenn die finanziellen Angelegenheiten geklärt sind.

Bearbeitet von lbm1305

Hey PhilippVP!

Ich habe eigentlich alle Klassen verlinkt, die du zur Lösung deines Problems benötigst. Woran hapert es denn bzgl. der Umsetzung? Da du hier seit Ende Januar registriert bist, vermute ich mal, du hast schon etwas Erfahrung im Programmierbereich; und das geschilderte Problem ist eigentlich eher von trivialer Natur.

Poste doch mal deinen bisherigen Code oder deine Ansätze, dann sehen wir weiter.

Gruß, Goulasz

P.S: Du kannst deine Problemstellung btw nahezu im Wortlaut googlen und wirst passende Codebeispiele erhalten. Ein bisschen Eigeninitiative muss sein ;).

  • Autor

Hallo Leute,

ich bin jetzt mit meinem Code (siehe unten) so weit:

string datei;

string verzeichnis;

datei = txtDateiladen.Text;

verzeichnis = txtVerzeichnisladen.Text;

using (StreamReader sr = new StreamReader(datei))

{

string zeile;

while ((zeile = sr.ReadLine()) != null)

{

//MessageBox.Show(zeile);

}

}

string[] verzeichniseinlesen = Directory.GetFiles(verzeichnis);

foreach (string dir in verzeichniseinlesen)

{

MessageBox.Show(dir);

}

aber ich komme nicht weiter, kann mir auch mal jemand erklären wie das mit dem Inhalt vom Verzeichnis einlesen funktioniert, ich stehe da komplett auf dem Schlauch :(

string[] verzeichniseinlesen = Directory.GetFiles(verzeichnis);

foreach (string dir in verzeichniseinlesen)

{

MessageBox.Show(dir);

}

Wäre euch sehr dankbar für eure Hilfe!

MFG PhilippVP

Ich gehe davon aus, dass die Verzeichnisse in der einzlesenden txt-Datei Zeilenweise aufgeführt sind.

ReadLine von StreamReader liest "zeilenweise". D.h. in Variable Zeile steht immer ein Pfad zu einem Verzeichnis.

Innerhalb des while - Statements müsstest Du jetzt die Aktion auf das Directory ausführen. Was auch funktioniert...Du speichert alles Pfade in einer Enumeration vom Typ string (IEnumerable<string>) und führst dann auf jedes Item der Enumeration deine Aktionen aus.


using (StreamReader sr = new StreamReader(datei))

{

string zeile;


while ((zeile = sr.ReadLine()) != null)

{

     if(Directory.Exists(zeile) {

         var files = Directory.GetFiles(zeile);


         foreach(var file in files) {

              // MacheEtwasMit(file);


             // Die Methode kann bspw. die Datei mit den Bildnamen öffnen und den Pfade 

             // Dateinamen vergleichen bzw. suchen.

         }

     }

}

}

Noch ein paar Hilfen:

http://msdn.microsoft.com/de-de/library/db5x7c0d.aspx

http://msdn.microsoft.com/de-de/library/4cyf24ss.aspx

http://msdn.microsoft.com/de-de/library/07wt70x2.aspx

Bearbeitet von lbm1305

  • 2 Wochen später...

Also ich würds etwa so machen (in VB.net, lässt sich ja aber übersetzten):


 Dim Sourcefile As String = "FileX.txt"

        Dim dir As String = "DirectoryX"

'hier stehn nachher alle Namen von Bilddateien die da sein dürfen

        Dim gueltigeBilder As New List(Of String)

        For Each line As String In IO.File.ReadAllLines(Sourcefile)

            gueltigeBilder.Add(line)

        Next

'hier stehn die namen der Bilddateien die wirklich drin sind

        Dim Bildnamen As String() = IO.Directory.GetFiles(dir)

        For Each file As String In Bildnamen

'wenn der Filename nicht in zu den gültigen gehört, wird das File mit dem Namen gelöscht

            If Not gueltigeBilder.Contains(file) Then

                IO.File.Delete(file)

            End If

        Next

Hoffe es ist verständlich was der Code genau tut.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.