Регулярное выражение Java - Разбить на одну точку "." (точка)

Вам следует избегать точки, если вы хотите применить разбиение к литеральной точке:

String withoutextension=filename.split("\\.") [0]; 

Если вы не добавите двойную антикосую черту, то только '.' не будет означать отсутствие символов, и вы получите исключение  ArrayIndexOutOfBoundsException  Потому что входной строкой является точка ".". Это исключение возникает, когда java не находит искомое регулярное выражение, а выходной массив пуст.