Java 正規表現 - 1ポイントで分割 "."(ドット)

リテラルポイントに分割を適用する場合は、ドットを避ける必要があります:

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

二重アンチスラッシュを追加しない場合、'.' だけでは文字がなくなることを意味し、例外が発生します ArrayIndexOutOfBoundsException 入力文字列がピリオド "." であるためです。この例外は、javaが探している正規表現を見つけられず、出力配列が空の場合に発生します。