Он вполне может правильно читать имена файлов; наиболее вероятное объяснение состоит в том, что ваша консоль не может отображать нелатинские символы.
Например, следующая программа должна распечатать первые три буквы греческого алфавита:
public class AlphaBetaGamma
{
public static void main(String[] args)
{
String abc = "\u03b1\u03b2\u03b3";
System.out.println(abc);
}
}
Распечатывает "???" на моей консоли, потому что он не способен отображать греческие символы.