Java ожидает найти файл относительно вашего рабочего каталога.Таким образом, путем жесткого кодирования файла в src/myapp/mytext.txt
вы ожидаете, что пользователь вашего приложения будет иметь файл в той же структуре папок.
Если вы ожидаете, что файл будет на том же уровне, что и ваш файл JAR,Вы можете просто использовать ./mytext.txt
.Не помещайте ваш mytext.txt
под src
в вашем проекте.Это для источников, которые вы хотите скомпилировать и / или связать внутри вашего JAR-файла.В NetBeans переместите его за пределы папки /src
, таким образом, когда вы запускаете программу из IDE или когда вы запускаете ее извне из файла Jar, вы находите файл на том же уровне.
Если вы хотитеПользователь, чтобы иметь возможность указать местоположение самого файла, вы также можете прочитать аргументы командной строки (аргументы для вашего public static void main(String[] args)
).