Наша java-программа непрерывно записывает некоторые важные данные в файл.Теперь мы хотим вызвать какое-то исключение или отобразить какое-либо сообщение об ошибке на консоли всякий раз, когда файл (в который пишет программа Java) удаляется каким-либо пользователем вручную.
Я обнаружил, что Java не выбрасываетлюбое исключение, когда оно пытается записать в файл, который был удален.
Метод I - Создать новый поток, который будет продолжать проверять, есть ли файл, и уведомлять основную программу Java оэто когда файл был удален.В нашем случае это не сработает, так как у нас будет несколько файлов, в которые будет писать java-программа, поэтому запуск нового потока для каждого файла не будет эффективным для памяти.
Метод II - Проверять наличие файла каждый раз перед записью в файл.Это также не очень хороший подход, потому что проверка существования файла - более дорогая операция.
Метод III - Расширение java.io.FilterWriter (который мы используем длязаписать в файл) и переопределить метод write () , чтобы вызвать исключение при каждой попытке записи в файл, который был удален.Это кажется хорошим решением, но я не смог найти места, где Java переваривает какое-то исключение (когда оно пытается записать в файл, который был удален), которое мы можем выбросить, переопределив этот метод.