Что такое Java эквивалент папки ресурсов JavaScript?

Веб-приложение My Wicket содержит Flash (*.swf) FLV-плеер. Следующий код:

final String script = "var swfVersionStr = '10.0.0';"
    + "var xiSwfUrlStr = 'playerProductInstall.swf';"
    + "var flashvars = {file:'/proj/resources/video.flv'};"
    + "var params = {};"
    + "params.wmode = 'transparent';"
    + "params.quality = 'high';"
    + "params.allowscriptaccess = 'sameDomain';"
    + "params.allowfullscreen = 'true';"
    + "var attributes = {};"
    + "attributes.id = 'test';"
    + "attributes.name = 'test';"
    + "attributes.align = 'left';"
    + "swfobject.embedSWF('/proj/resources/mediaplayer.swf', 'movieDiv', '640', '480', swfVersionStr, xiSwfUrlStr, flashvars, params, attributes);"
    + "swfobject.createCSS('#flashContent', 'display:block;text-align:left;');";

add(new AbstractBehavior() {
    public void renderHead(IHeaderResponse response) {
        super.renderHead(response);
        response.renderOnLoadJavascript(script);
    }
});

играет FLV. swfobject.js Файл размещен в папке ресурсов моего сервера. Поскольку я тестирую его на localhost, абсолютный путь к папке ресурсов: /home/tapas/Desktop/proj/work/Jetty_0_0_0_0_80_proj.war__proj__qk44r3/webapp, Теперь, как я могу сохранить файл в папке ресурсов моего сервера с помощью Java? JavaScript идентифицирует путь к папке ресурса как /proj/resources/; каково эквивалентное выражение этого пути в Java? Я пытался:

try{
    File file=new File("/proj/resources/joymaa.txt");
    if(file.exists()){
        System.out.println("File exists");
    }else{
        System.out.println("File does not exists");
    }
}catch(Exception exception){
    System.out.println(exception.getMessage());
}

Это не отображает никаких сообщений об ошибках, но показывает "Файл не существует".

3 ответа

Решение

Попытайтесь выяснить, каков ваш настоящий рабочий каталог java... это может помочь: пример Я не думаю, что java мог бы понять ваш относительный путь, потому что он запускается из другого каталога, чем javascript. Просто мое мнение, но попробуйте.

Я бы рекомендовал не использовать абсолютный путь к файлу, чтобы найти ресурс в файле WAR.

Если вашему Java-приложению нужен ресурс, лучше всего поместить его в CLASSPATH и использовать getResourceAsStream() из контекста сервлета, чтобы получить InputStream для чтения.

((WebApplication) getApplication()). GetServletContext(). GetRealPath("/resources/video/xml/video.xml")

Другие вопросы по тегам