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

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

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

Собери мысли в кучу, или зарядка для ума.

Привет, коллеги! Дойдя до 10 лвл, и не много затянув с оплатой дальнейшего обучения, по причине не больших финансовых трудностей, решил зря время не терять и разобрать наиболее популярные алгоритмы сортировки. Если кому-то будет интересно, чуть позже могу сделать не большой обзор с полезными плюшками.
Так вот, дойдя до сортировки кучей (двоичной) или, как ее еще называют пирамидальной сортировкой (HeapSort), столкнулся с тем, что хотел найти код, описывающий весь алгоритм в одном методе, а не как на WiKi, состоящий из кучи методов. Плюс ко всему код должен был быть понятен и максимально прост. Нашел уже было алгоритм на другом ресурсе, более менее приемлемый, который все-равно пришлось бы чуть подшаманить, но тут наткнулся на видео:
1ч.: www.youtube.com/watch?v=cT5K1wPZfrg
2ч.: www.youtube.com/watch?v=_9er7Vtm8BY
Вот его код в txt: www.dropbox.com/s/btzxx20dpjx1qp2/Heap%20Sort.txt

Фишка в том, что парень написал код (HeapSort), но там есть баг. Он знает об этом, но решения проблемы найти не смог. Мне стало интересно, и я решил расколдовать загадку тени от хрена. В общем, спустя примерно 4 часа мозгового штурма, попутно разбираясь в каждом шаге алгоритма (т.к. изначально я не понимал, как он работает), и отвлекаясь на домашние дела, я победил этот трабл. Код, конечно, я сделал более компактным, и истребил косяки. В итоге все отлично функционирует и сортируется. Рабочий код пока выкладывать не буду, чтобы никого не смущать вариантом быстрого решения задачи. :)

Если вам будет интересно разобраться в этом алгоритме и его баге — Welcome! Задачка интересная. :)
Всем успехов!