Если класс Properties выдает кракозябры в кирилических значениях свойств, а такие свойства могут использоваться часто и густо, есть масса способов прочесть байтовый поток, создать строку из байтов с нужной кодировкой источника, затем снова получить байтовый поток , и указать в методе load. Но постараемся сделать проще и короче:
try {
InputStreamReader isr = new InputStreamReader(fin,"windows-1251");//Здесь указываем кодировку
properties.load(isr);
... Крошим скалу дальше, кирилица будет читаться на ура