2016-10-07 4 views
0

Я написал приложение Java для рабочего стола с классом (скажем, ClassA), который читает содержимое файла, обрабатывает его и возвращает некоторые результаты. Имя файла было указано относительно проекта с использованиемjava desktop и веб-приложение, использующее тот же путь к файлу

Файл input = new File ("config.xml");

Теперь я хочу обновить проект в веб-проекте. Я написал сервлет, который вызывает тот же класс java (например, ClassA) для чтения содержимого того же файла, но на этот раз я получаю сообщение об ошибке, в котором говорится, что файл не найден.

Как отредактировать мой код так, чтобы и рабочий стол, и веб-версии работали плавно.

ответ

0

Просто скопируйте файл config.xml в соответствующее место на веб-сервере, например. public_html/www/

«Рабочий каталог» веб-приложения отличается - зависит от конфигурации веб-сервера, на который вы его развертываете.

0

Если вы читаете файл без указания пути, он считывается из текущего каталога, доступ к которому вы можете получить с помощью System.getProperty («user.dir»);

Итак, вы можете попытаться выяснить, какое значение возвращается System.getProperty («user.dir») в вашем веб-приложении и поместить туда файл. Но это может различаться в зависимости от среды и сервера сервлетов (Tomcat и т. Д.) И может быть не надежным решением.

Другой способ - изменить код, чтобы он читал файл из каталога user.home и размещал там файл.