Вы заставили меня прочитать руководства :) Я решил более общую проблему: как заменить любые 2+ одинаковых символа один за другим только одним и тем же символом:
String str = "assddffffadfdd..o";
System.out.println (str.replaceAll("(.)\\1+", "$1"));
Выход:
asdfadfd.o
Если вам нужно решение только для случая "filename .... ext", то я бы предпочел что-то более простое, как в ответе Etaoin, потому что оно, вероятно, работает быстрее (но не факт). Мое решение, упрощенное для этого конкретного случая, выглядит так:
str.replaceAll("(\\.)\\1+", "$1")