Для относительных путей, вот что я сделал. Я отдаю себе отчет в возрасте этот вопрос, я просто хочу внести свой вклад простой ответ, который работает в большинстве случаев:
у вас есть этот путь:
"path/to/file/folder"
По какой-то причине, Linux -строенные исполняемые файлы, сделанные в eclipse, отлично работают с этим. Тем не менее, окна очень запутаны, если для них задан такой путь!
Как уже говорилось выше, существует несколько способов, чтобы получить текущий путь к исполняемому файлу, но самый простой способ я считаю, работает шарм в большинстве случаев добавление этого к передней части вашего пути:
"./path/to/file/folder"
Просто добавьте «./», чтобы вы отсортировали! :) Затем вы можете начать загрузку из любого каталога, который вы хотите, до тех пор, пока он выполняется с самим исполняемым файлом.
EDIT: Это не сработает, если вы попытаетесь запустить исполняемый файл из кода :: блоков, если это используется среда разработки, по какой-то причине код :: blocks не загружает файлы прав ...: D
EDIT2: Некоторые новые вещи, которые я нашел, что если вы задаете статический путь этот в своем коде (Предполагается, что Example.data то, что вам нужно загрузить):
"resources/Example.data"
Если вы затем запустите приложение из фактического каталога (или в Windows, вы создадите ярлык и установите рабочий каталог в каталог приложения), тогда он будет работать именно так. Помните об этом при отладке проблем, связанных с отсутствием путей к ресурсам и файлам. (Особенно в IDE, которые устанавливают неправильный рабочий каталог при запуске сборки exe из среды IDE)
также не зависит от файловой системы? – chakrit 2008-09-27 07:19:31
@chakrit: Было бы здорово. (Хотя эта проблема обычно не возникает под Windows.) – 2008-09-27 07:22:35