Как разрешить файлу (JAR) доступ к внешней папке, которая необходима в приложении? - PullRequest
0 голосов
/ 12 января 2011

Пожалуйста, приложение My Java предполагает доступ к внешней папке, содержащей некоторые другие файлы.Он отлично работал в среде IDE Netbeans, но не тогда, когда я запускаю один файл (jar).Я думал, что включение нужной внешней папки в тот же путь, что и файл jar, решит проблему, но, к сожалению, это дало мне те же результаты.

Любые идеи или предложения с благодарностью!

Заранее спасибо!

PS: я использую следующую команду: java -jar MyJarFile.jar

[Добавлено]

MyСтруктура файла:

В главной папке проекта у меня есть следующее:

build
build.xml
Данные: Внутри этой папки находится мойфайл журнала (log.dat).
dist: внутри этой папки находится мой (.Jar) файл.
manifest.mf
nbproject
README
src

Код для доступа к файлу записывается следующим образом:

Файл logs_File = новый файл («Данные» + File.separator + «log.dat»);

Опять же, в моем NB это работает таким образом, но не тогда, когда я обедаю .Jar файл.

[Обновлено]

Насколько я знаю, я пыталсяследующее:

Файл для доступа к файлу теперь выглядит следующим образом: Файл logs_File = новый файл (this.getClass (). getResource ("/ Data / log.dat"). toString ());

Затем я скопировал папку Data в следующие каталоги:
src
build / classes /
dist

и в главном каталоге

И все же он не видит файл.Хотя на этот раз даже netbeans не может найти файл.

Заранее спасибо за помощь

Ответы [ 3 ]

1 голос
/ 12 января 2011

Вам нужна следующая структура и код для вашего проекта alt text

1 голос
/ 12 января 2011

Не видя ваш код, кому-то сложно дать вам точный ответ на ваш вопрос. Подсказка, которую вы указали относительно правильного поведения в среде IDE, подсказывает мне, что при доступе к файлу вы можете использовать относительный путь? Вы пытались распечатать путь, по которому вы пытаетесь получить доступ в случае сбоя?

EDIT:

Попробуйте позвонить getAbsolutePath() в свой файл и распечатать результаты в STDOUT. Затем зайдите в свою файловую систему и посмотрите, существует ли файл.

0 голосов
/ 13 января 2011

Ну, ответ таков:

Я напечатал getAbsolutePath(); моего файла, затем поместил папку (Data) в папку (dist) с файлом (JAR). Я также должен был разрешить доступ к файлу (jar) всем пользователям, а не только администратору.

[Тема решена]

Спасибо за сообщество и всю вашу помощь и заботу!

С уважением,

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