[Java]апплет и загрузка файла

stm6695895

приложение реализовано в виде апплета. при запуске пытается открыть и прочитать файл с диска. браузер этого не позволяет, кидается эксепшн. в appletviewer все запускается. что и где надо включить или отключить, чтобы и браузер претензий не имел?
браузер ИЕ7, но не суть... интересует в целом, что за это отвечает.

livemix

пиши эксепшн.
телепаты в отпуске (с)
но я попробую: скорее всего, нельзя вот так просто из апплета лазить по клиентской машине. Чтобы было можно, апплет должен быть "подписан". Такой апплет при загрузке в браузере спросит у клиента "а вы доверяете тому, кто меня подписал" (и расскажет про тебя)? Если клиент нажмет "да", то апплету можно все (в том числе медленно, но верно выкачивать инфу с клиентской машины :) )

stm6695895

exception вот:
java.security.AccessControlException: access denied (java.io.FilePermission map.mpw read)
то есть да, запрещает.
Но просто если например запускать апплет через браузер, набрав юрл, то ведь фактически все *.class файлы и файл map.mpw - они находятся на моей машине, а не на клиентской... Или они все клиенту скидываются в какую-то временную папку?
Насчет разрешений - ИЕ7 вроде как по умолчанию при попытке открыть апплет пишет о потенциальной опасности и предлагает не делать этого. Но после того, как разрешаешь заблокированное содержимое - все равно вот не хочет...
в общем тогда такой вопрос. если переписать как оконное приложение java - снимутся ли заморочки с чтением файлов?

durka82

в общем тогда такой вопрос. если переписать как оконное приложение java - снимутся ли заморочки с чтением файлов?

Снимутся.
Только почему нельзя просто запускать как апплет?
И что это за файл такой, который надо у пользователя на компе брать?

stm6695895

файл вроде как содержит карту. то бишь апплет - гама, подгружает файл с картой уровня. в том-то и дело, что брать его надо у меня а не у пользователя...
В общем, переписал окном, буду смотреть что получится.
Вообще, какие-то ужасные у явы заморочки в плане выгрузки готового проекта. Пока прогаешь под эклипсом - все зашибись, все работает, а как захочешь кому-то показать - начинается долгое и нудное имение мозгов... Я на яве недавно прогаю, для меня это в новинку все)
В связи с переходом от апплета к окну, подскажите плз, как его запустить вне эклипса?)

durka82

файл вроде как содержит карту

Если это веб-игра, тогда этот файл должен лежать на сервере и никаких проблем не будет.
а как захочешь кому-то показать - начинается долгое и нудное имение мозгов

Да вроде достаточно поставить клиенту jre.
В связи с переходом от апплета к окну, подскажите плз, как его запустить вне эклипса?

Если jre стоит и настроены ассоциации, то мб достаточно простого щелчка по скомпилированному файлу класса/по jar-у.
Ну или написать батник с командой типа java имя-запускаемого-файла.
Вообще в эклипсе должно быть можно посмотреть команды, которые он исполняет при компиляции и запуске.

pitrik2

в том-то и дело, что брать его надо у меня а не у пользователя
хехе
а как ты его берешь то?
апплет ВСЕГДА запускатся у клиента в браузере
от клиента твой хард не доступен!
даже если клиент и ты это одна и та же машина физически - можно и нужно считать что твой хард клиенту не доступен!
чтобы с твоей машины чтото забирать, нужно это чтото выложить на сервере
например запускаешь сервер Apache
кладешь на него свою карту и апплет
и потом заходишь на апллет по урлу типа:
http: //localhost:8080/applet.html
и потом забираешь файл программно из апплета по урлу типа:
http://localhost:8080/map.txt

pitrik2

Вообще, какие-то ужасные у явы заморочки в плане выгрузки готового проекта.
это неправда
эклипс тебе небось подсовывает сервак
а когда без эклипса то сервак (типа Apache) надо ставить отдельно

stm6695895

я и правда файл подгружал просто файловым потоком, а не через юрл
но в любом случае, этому проектику моему больше подходит быть окном чем апплетом. просто я раньше думал, что окошки делать в яве не в пример сложнее, а оказалось, все абсолютно то же самое, отличие в мелочах. так что уже не суть.
насчет сервера, который подсовывает эклипс - имхо, вряд ли там все так сложно. то бишь судя по эксепшену бразуер все-таки способен увидеть файл, просто читать его запрещено. опять же, если запускать через appletviewer - который суть минибраузер, но уж никак не http-сервер, то все работало (имеется в виду, что все нужные файлы лежат на этой же машине, а не где-то удаленно). Так что дело наверное все-таки в запрещениях. Ну да бог уже с ними)

stm6695895

Вообще, какие-то ужасные у явы заморочки в плане выгрузки готового проекта
действительно неправда) экспортируешь в jar-файл, указываешь главный класс и все. проблема была найти волшебную кнопочку)

durka82

просто я раньше думал, что окошки делать в яве не в пример сложнее

Попробуй использовать Swing :grin:
Оставить комментарий
Имя или ник:
Комментарий: