2016-11-25 6 views
0

Я совершенно новичок в программировании, и теперь я делаю проект, который мне нужен, чтобы прочитать конкретный XML-файл в java. Мой код использует абсолютный путь к файлу, который мне нужен, но я должен распространять проект где-то. Требуемый XML-файл не будет находиться в папке проекта, но в другой папке, которую я буду распространять с файлом JAR проекта. Возможно ли получить этот путь, если я не знаю, где пользователь поместит мою программу и папку, содержащую файл XML?Проблемы с дистрибуцией java-проекта

Программа должна работать в Windows.

+0

Вы используете интерфейс (качели или другие)? Вы всегда можете найти FileChooserDialog (или что-то вроде этого), чтобы пользователь мог указать на файл. Но вы всегда можете распространять свою банку в архиве (zip) с помощью xml – AxelH

+0

. Вам нужно спросить у пользователя в вашем коде, где они помещают xml-файл! –

+0

Именно поэтому вам следует избегать использования жестко закодированных абсолютных путей. Или используйте относительный путь к файлу, если файл находится за пределами вашей банки, или используйте относительный путь к ресурсам класса, если xml находится в файле jar. Это задано и много раз на этом сайте, и вы захотите немного поискать этот сайт, чтобы проверить эти дубликаты. –

ответ

0

У вас есть различные возможные решения:

  • проходят местоположение файла в качестве параметра метода main (если у вас есть метод main)
  • набор в system property с расположением файла (вы можете сделать что с -D опции команды Java, с синтаксисом -Dproperty=value)
  • установить переменную окружения (с export команды в Linux)
  • поместить файл в путь к классам и получить его с getResourceAsStream
  • доступа файл с внешнего сервера обнажая его через HTTP
+1

не забывайте переменные среды 'System.getenv (String)' –

+0

@CarlosHeuberger добавил также эту опцию thx –

 Смежные вопросы

  • Нет связанных вопросов^_^