2016-11-29 2 views
-2

Wie würde ich in der Lage sein, über eine Liste von verschiedenen Dateien (in einem bestimmten Verzeichnis) zu iterieren und über eine Liste zu filtern, dann würde die gefundene Datei zurückgeben es in.Iterieren über Dateien im Verzeichnis, um Inhalt zu finden

Eg: Files are '344-444.yml, 555-646.yml and 996-666.yml 
File 344-444.yml contains: 
hobby: 
- football 
- hockey 
- custom 

wenn benutzerdefinierten gefunden wird, findet das erste Spiel es die Dateinamen zurück, zB 344-444.yml.

Danke!

+0

Hilft Ihnen [** this **] (http://stackoverflow.com/questions/3154488/how-do-i-iterate-through-the-files-in-a-directory-in-java) ? – Aziuth

+0

@Aziuth nicht genau, ich möchte auch den Inhalt der Datei durch eine Liste für meine bestimmte Zeichenfolge suchen und schließlich den Dateinamen zurückgeben. – Chazmondo

+0

Haben Sie einen Code geschrieben? Haben Sie nach den gewünschten Funktionen gesucht? – VGR

Antwort

0

Ihre Erklärung des Ziels ist ein wenig unklar. Allerdings habe ich verstanden, dass Sie an einem bestimmten Punkt Ihre Liste von Zeichenfolgen (das Wörterbuch) haben und Sie müssen jede Zeichenfolge auf einer bestimmten Datei suchen. Ein guter Algorithmus dafür ist die Aho-Corasick algorithm, die Ihnen die Komplexität linear in der Länge der Datei + Anzahl der Vorkommen + Länge des Wörterbuchs geben wird. Wenn die Größe Ihres Wörterbuchs groß ist, ist dies ein großer Zeitgewinn im Hinblick auf die Suche nach einer Zeichenfolge zu einer Zeit.

Verwandte Themen