Линия
new FileReader("src/personaldata.txt")
пытается открыть файл personaldata.txt
в подкаталоге src
текущего каталога. Текущий каталог - это каталог, в котором вы находитесь, когда запускаете команду java в командной строке. Итак, если вы находитесь в c:\
и запускаете java -jar the/path/to/myJar.jar
, он будет искать файл в каталоге c: \ src \ personaldata.txt.
Файл, таким образом, используется для доступа к файловой системе. Не ресурсы внутри банки. Чтобы загрузить ресурс из classpath, вы должны использовать
Processor.class.getResourceAsStream("/personaldata.txt")
Посмотрите на javadoc этого метода , чтобы понять, как он работает.
Обратите внимание, что запись в файл в банке невозможна.