Как получить путь к приложению в Red5 (абсолютный и относительный) - PullRequest
0 голосов
/ 28 декабря 2010

Я сделал приложение и поместил его в webapps как новую папку, скажем appcustom.
Есть несколько текстовых файлов, которые я хочу прочитать.
Как мне в общем случае читать, а не жестко кодировать путь?

В настоящее время я использую что-то вроде этого:

FileReader fr = new FileReader("webapps/appcustom/<<textfilename>>"); // read a file

Как мне сделать его универсальным? Потому что завтра я могу изменить имя папки приложения на «custApp» или что-то еще.

Ответы [ 3 ]

2 голосов
/ 04 августа 2011

Есть несколько системных свойств, которые вы можете использовать в Red5, я бы использовал этот блок, если бы пытался прочитать ресурс из универсального класса приложения:


FileReader fr = new FileReader(String.format("%s/%s/%s", System.getProperty("red5.webapp.root"), appName, fileName));

Имя приложения (например:oflaDemo) и ваше имя файла должно быть предоставлено.

Из ApplicationAdapter у вас есть доступ к «используемому» имени приложения:


FileReader fr = new FileReader(String.format("%s/%s/%s", System.getProperty("red5.webapp.root"), getScope().getName(), fileName));

Из сервлета у вас есть доступ к полному пути:


FileReader fr = new FileReader(String.format("%s/%s", getServletContext().getRealPath("/"), fileName));
0 голосов
/ 07 июля 2011

Вы можете проверить это Streaming_from_custom_directories

0 голосов
/ 10 мая 2011
Properties props = new Properties();
   // Looks for the file 'database.properties' in {TOMCAT_HOME}\webapps\{RED5_HOME}\WEB-INF\
   FileInputStream in = new FileInputStream(System.getProperty("red5.config_root") + "/database.properties");
   props.load(in);

Я нашел этот способ очень полезным при чтении любого файла.

Вот ссылка на полный пример

...