Кроме того, что код не работающий, архитектурных проблем тут много:
1. public маркированны методы не используемые за пределами класса.
2. fExists(); не возвращает значений. Тут хорошо бы проверять наличие файла с возвращением boolean переменной.
3. Валидировать данные хорошо сразу после ввода.
4. Если приложение клиент серверное, то хорошо бы иметь как клиент, так и сервер, и не важно что они работают на одном компе.
5. Ну и как указано выше, не нужно выбрать где корректно обработать исключение в try - catch блоке, а не пробрасывать исключение через все методы.