Здравствуйте, Сэма, Вы писали:
С>Здравствуйте, aefimov, Вы писали:
A>>Расширение вообще имеет смысл чисто нотационный. Если файл имет в нуле точку, то не факт, что он вообще имеет «имя без расширения».
A>>Но можно для этой ситуации сравнивать не как != -1, а как > 0.
С>Это уже скорее в философию надо идти или в алгоритмы ибо спор вечен и договоренность должна быть:
С>1) Никто ни разу не сказал про то что это ТОЛЬКО имя файла а не вся домовая книга включая путь
С>2) Нужна четкая договоренность что то что после последней точки ВСЕГДА являтеся расширением а не очередным.словом.в.ненормальном.имени.файла_без.расширения 
А почему "очередным.словом.в.ненормальном.имени.файла_без.расширения"? Достаточно понимать, что java — это кросплатформенная система, а следовательно предполагать о:
1. Наличии диска С в пути
2. Наличии расширения
3. Регистронезависимости
— категорически не стоит.
Если нужно определить тип файла надо использовать определение по mime type
http://www.rgagnon.com/javadetails/java-0487.html