Выбор файлов по маске. Проблема с русской кодировкой

Решил написать программу на Java, которая должна отбирать файлы по маске и копировать их в специальную папку(путь заранее известен). Однако столкнулся с трудностями.
Читаю файл, смотрю является ли он директорией, если да то начинаю смотреть его внутреннюю структуру, если нет, проверяю удовлетворяет ли он моей маске.
.indexOf — метод который проверяет входит ли маска в имя директории или файла.
Когда тестировал на каталогах с файлами и папками названными на английском языке — проблем не было, однако когда перешел на русские — возникли проблемы. Считывая название файла(на русском) компьютер выпадает что-то вроде:
«DirList=” Єг«мвҐв ЎЁ§­Ґб  Ё ¬Ґ­Ґ¤¦¬Ґ­в 
DirList=” Єг«мвҐв Јг¬ ­Ёв а­ле ­ гЄ
DirList=Programmnew
DirList=Њ®ЎЁ«м­®бвм а Ў®в­ЁЄ®ў
DirList=Њ®ЎЁ«м­®бвм бв㤥­в®ў»

Вопрос, как это можно решить?