Вместо класса File я рекомендую взглянуть на класс Files - он поможет вам сделать много вещей. Например, Files.createFile (...) проверит, существует ли файл перед созданием. Затем вы можете передать положительный результат в FileWriter (...) для вашей работы.
Вы можете проверить наличие файла папки, но не то, чтобы он был удален (например, проверка файла журнала прошлых действий). Я рекомендую использовать логику «если не там, то она никогда не существовала или была удалена». Другой вариант при работе с файлами - использовать параметры, чтобы всегда перезаписывать файл, если вы этого хотите.
Вы задаете вопрос об операционной системе. То, что происходит после удаления файла или папки, уникально для каждой операционной системы. Условная корзина понимала исходное местоположение файла или папки, и то, куда этот контент мог быть перемещен, зависит от операционной системы (и обычно не просто перемещается в другую папку).