Что такое 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")