ОБСУЖДЕНИЕ

Доступ к файлам в веб приложении

4 ответов 6,3 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
В веб-приложении возникла следующая задача:
1) Прочитать файл по относительному пути (относительно корня приложения)
2) Изменить содержимое
3) Записать файл

С чтением проблем не возникает - использую ResourceLoaderAware (используется Spring). А как сохранить файл, зная только его относительный путь?
 
во первых надо еще раз подумать: действительно ли необходимо писать в файл и веб приложения. просто обычно это не самая удачная идея.
веб приложения, они обычно многопоточные и доступ на запись в файл придется синхронизировать.

Если надо внести изменения в уже существующий файл, то через ResourceLoaderAware, получаем org.springframework.core.io.Resource. А у него метод getFile. А уж с File можно делать что угодно.

плюс из виртуально пути можно получить реальный с помощью http://java.sun.com/j2ee/sdk_1.3/techdocs/....lang.String%29
но есkb приложение задеплоено как war, то такой трюк скорее всего не получится
 
Спасибо за совет. Проблема решена, тему можно закрывать
 
например:
<!--shcode--><pre><code class='java'>getResourceLoader.getResource().getFile().getAbsolutePath()[/CODE]
или
<!--shcode--><pre><code class='java'>new OutputStreamWriter(ResourceLoader.getResource().getFile())[/CODE]
 
Kmet, правильно говоришь, web приложения многопоточные. Работу с файлом можно(даже нужно) запихнуть в поток и все действия выполнять на сервере как локальной машине.
Прошу прощения если не правльно понял суть размышления.
 
Статус
Закрыто для дальнейших ответов.