Wenn der TE nur nach Dateinamen suchen möchte, reichen die hier vorgestellten Verfahren.
Ansonsten würde ich ein Fulltext-System wie Lucene empfehlen oder irgend etwas anderes 'Fertiges', wie mein Vorredner schon anmerkte.
Bitte macht nicht den Fehler, für ein Standardproblem etwas eigenes zu programmieren. Außer exorbitanten Kosten gewinnt man dabei gar nichts.
Siehe auch:
https://de.wikipedia.org/wiki/Not-invented-here-Syndrom