Как отмечено в комментариях, это работает, только если вы запустите команду из каталога, в котором находится jar.
(В контексте настольного приложения) Для доступа файл, находящийся в текущем каталоге jar
, вашему path
файлу должна предшествовать точка. Пример:
String path = "./properties.txt";
FileInputStream fis = new FileInputStream(path);
BufferedReader in = new BufferedReader(new InputStreamReader(fis));
// Read the file contents...
В этом примере есть текстовый файл с именем properties.txt
в том же каталоге, что и jar
. Этот файл будет прочитан программой, содержащейся в jar
. Изменить: вы сказали, что имя файла не изменится, и этот ответ будет применяться, если вы знаете имя заранее, конечно, если вы предпочитаете его жестко.