Как создать файл изображения, используя относительный путь в Java? - PullRequest
0 голосов
/ 12 февраля 2011

Я использую eclipse galelio для разработки веб-приложения.Мне нужно прочитать файл из локального каталога пользователя и поместить его где-нибудь в моем приложении, чтобы пользователь мог просмотреть его в нужной точке.

Для этого я делаю это:

f=new File("images/myfile.txt");
          if(!f.exists()){
          f.createNewFile();         
          }

но этот файл создается в C:\Documents and Settings\MB\images\myfile.txt не в приложении (где я хочу).

Как получить это в приложении?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2011

Базовым каталогом для относительного пути к файлу является текущий каталог . Для автономных приложений Java это каталог, из которого вы запустили Java (если вы не указали опцию -Duser.dir=...). То, что находится в вашем Web-приложении-контейнере, я думаю, совершенно не определено.

Хотите сохранить файл на сервере или на клиенте?

  • Если client , вам придется использовать апплет или приложение Webstart, а затем, вероятно, использовать FileChooser, чтобы позволить пользователю определить каталог, или лучше использовать javax.jnlp api (FileOpenService, FileSaveService или PersistenceService).
  • Если сервер , то вы будете использовать механизмы вашего контейнера, чтобы получить правильный путь (или напрямую сохранить / получить данные). (Я не знаю подробностей об этом, извините.)
0 голосов
/ 12 февраля 2011

Плохая привычка хранить пользовательский контент в веб-приложении.Обычно веб-приложения развертываются как войны, и извлечение войны (если это произойдет) зависит от контейнера.Вы не хотите писать в каталог, «принадлежащий» контейнеру.

Обычно вы назначаете место в файловой системе (или в базе данных), куда вы помещаете контент, созданный пользователем.

Вы можете настроить это место, используя контекст (в Tomcat context.xml), вы можете получить это свойство в сервлете (getServletContext) и использовать эту конфигурацию в своем приложении.

Это также даст системному администраторувозможность размещения данных в месте, которое часто резервируется.

Даже если у вас нет такой организации, привычка конфигурировать места в файловой системе неплохая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...