Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Апплеты > Как проверить наличие звукового файла на сервере?


Автор: Amigo2140 19.7.2007, 18:06
Добрый день!
Есть апплет который грузит и проигрывает звуковые файлы.  Выглядит это примерно так:
Код

AudioClip clip;
................................
clip = Applet.newAudioClip(url);
сlip.play();

Проблема в том что если файл отсутствует под указанным URL то все работает как бы нормально - только звук не проигрывается  smile . То есть не возникает никаких исключительных ситуаций, метод Applet.newAudioClip(url) возвращает отличное от null значение и т.д.
Однако меня эта ситуация не устраивает - хотелось бы в таком случае выдавать пользователю сообщение о том, что файл отсуствует на сервере, а отследить такую ситуацию не могу. Пробовал вместо  Applet.newAudioClip(url); вызывать метод getAudioClip(url); - результат тот же.
Как можно проверить наличие файла на сервере? 

Автор: ecologist 20.7.2007, 09:48
А на сервере что стоит ? Если какой-то HTTP - может попробовать сначала сделать GET такому файлу и если не получится - значит нет такого.

Автор: Andreich 23.7.2007, 09:29
посмотри методы get для клипа, там должен быть либо размер файла, либо ещё нечто похожее, так вот, если размер -1 или другое дефайновское значение (см. в отладчике) то файла нет.

Автор: Amigo2140 24.7.2007, 11:24
В общем проверил наличие файла так:
Код

con = url.openConnection();
stream = con.getInputStream();

Затем попытаться считать один байт с полученного потока. Если в процессе работы возник эксепшн или при попытке считать один байт метод read() вернул -1 - значит файла нет. Некрасиво, конечно, но зато работает как надо  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)