|
29 / 3 / 1
Регистрация: 20.08.2010
Сообщений: 41
|
|
Путь до jar'a30.09.2010, 16:49. Показов 7103. Ответов 12
Метки нет (Все метки)
Есть jar'ник с программой и xml файл с настройками который должен лежать в папке с джарником, каким образом узнать директорию из которой запускается приложение? Напишите пожалуйста, гугл ничего вразумительного не ответил.
0
|
|
| 30.09.2010, 16:49 | |
|
Ответы с готовыми решениями:
12
Возврат на истинный путь, или как вернуться на путь программиста Как полный путь преобразовать в путь для коммандной строки? |
|
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
|
||||||
| 30.09.2010, 19:35 | ||||||
0
|
||||||
|
29 / 3 / 1
Регистрация: 20.08.2010
Сообщений: 41
|
|
| 01.10.2010, 11:48 [ТС] | |
|
К сожалению этот метод не подходит, так как в моём случае это путь до пользователя в системе ("C:\Documents and Settings\Admin")
Добавлено через 1 час 52 минуты А не до запускаемого jar'ника, слышал что можно как то узнать путь до класса в jar'нике, если кто нибудь знает этот способ, или любой другой, помогите пожалуйста.
0
|
|
|
52 / 52 / 10
Регистрация: 25.05.2010
Сообщений: 182
|
|
| 01.10.2010, 14:45 | |
|
KnightWithKnife, если это 100% винда то можно вополнить системную команду cd(в винде вроде она) и получить ответ
0
|
|
|
29 / 3 / 1
Регистрация: 20.08.2010
Сообщений: 41
|
|
| 01.10.2010, 18:14 [ТС] | |
|
time2die, хорошая идея, не подскажешь какой функцией выполнить эту команду?
0
|
|
|
52 / 52 / 10
Регистрация: 25.05.2010
Сообщений: 182
|
|
| 01.10.2010, 19:49 | |
|
0
|
|
|
29 / 3 / 1
Регистрация: 20.08.2010
Сообщений: 41
|
|
| 04.10.2010, 11:11 [ТС] | |
|
Спасибо, но столкнулся с проблемой
Runtime r = Runtime.getRuntime(); Process p = r.exec("cd"); BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); String s; while ((s = stdInput.readLine()) != null) { System.out.println(s); } этот код вызывает IOException... но если использовать другие функции например r.exec("help"); то все в порядке(возвращается список команд)... Не смог разобраться в чем проблема...
0
|
|
|
52 / 52 / 10
Регистрация: 25.05.2010
Сообщений: 182
|
|
| 04.10.2010, 11:19 | |
|
попробуй "dir\n"
на самом деле я не уверен насчет cd, может dir ?
0
|
|
|
29 / 3 / 1
Регистрация: 20.08.2010
Сообщений: 41
|
|
| 04.10.2010, 12:06 [ТС] | |
|
тоже бросает IOException, попробовал несколько команд, странно некоторые работают, но те которые относятся к файловой системе вызывают исключение.
0
|
|
|
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
|
||||||||||||||||
| 05.10.2010, 11:24 | ||||||||||||||||
|
Вы вообще чем занимаетесь????
Такое понятие как относительный путь, абсолютный путь знаете? Если заранее известно, где будет лежать XML относительно jar'ника, зачем пути искать, неужели нельзя сделать так:
P.S. На всякий случай, относительный путь - путь к файлу относительно какого либо другого файла или каталога. Например, если jar лежит в папке C:/MyProgram/Compiled/Program.jar, а XML'ина в C:/MyProgram/Compiled/Conf/cfg.xml (например), то относительный путь от jar'а до XML будет "Conf/cfg.xml". Если файл лежит выше по дереву каталогов, то "подняться" на один каталог вверх можно с помощью псевдоподкаталога ".." (../../.. - подняться на 3 каталога вверх) И не парьте мозг рантаймами, это тот еще гемморой.
0
|
||||||||||||||||
|
29 / 3 / 1
Регистрация: 20.08.2010
Сообщений: 41
|
|
| 05.10.2010, 11:52 [ТС] | |
|
Тут такая штука, я запускаю приложение командой из командной строки java -jar "D:\Projects\blablabla\blabla.jar" если я запускаю конкретно из папки с jar'ником то всё в порядке, но если из любой другой папки, то относительно нее считается относительный путь. Например C:\Documents and Settings\Admin>java -jar "D:\Projects\blablabla\blabla.jar" он считает что xml должна лежать в C:\Documents and Settings\Admin ... Хочется чтобы работала в любом случае...
0
|
|
|
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
|
||||||||||||||||
| 06.10.2010, 08:36 | ||||||||||||||||
|
Ладно, сделаем, как предложили, через процесс, только команда "cd" - это команда MSDOS, венда такую не знает, ее знает только командная строка, поэтому надо сначала вызвать командную строку "cmd", а потом через входной поток процесса дать ей "cd". Жесть одним словом:
Добавлено через 8 минут Во, разобралсо:
![]() Добавлено через 2 минуты А проблема с путем остается так же ![]() Добавлено через 22 минуты Можно еще вот так в одну строчку все это сделать:
Но что тут делать с кириллицей, я ума хер приложу
0
|
||||||||||||||||
|
29 / 3 / 1
Регистрация: 20.08.2010
Сообщений: 41
|
|
| 06.10.2010, 11:15 [ТС] | |
|
Спасибо, последний вариант мне особенно нравится=) А с русскими путями пока не сталкивался
0
|
|
| 06.10.2010, 11:15 | |
|
Помогаю со студенческими работами здесь
13
Файл: Получить полный путь к файлу и записать этот путь в отдельную переменную.
Определить путь S, пройденный лодкой (путь=время*скорость) Разбить путь к файлу на части - путь, файл и расширение [ODBC] Строка '(нет данных)' задает ошибочный путь. Проверьте, что путь задан правильно и имеет Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|